Giter Club home page Giter Club logo

Comments (9)

dmitryd avatar dmitryd commented on May 24, 2024

Pages further down in the page tree are not checked and therefor not found.

Wrong: https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Decoder/UrlDecoder.php#L445

The line you found is executed just once: when processing the root page.

Just tested, decoding deep in the tree works fine.

from typo3-realurl.

ervaude avatar ervaude commented on May 24, 2024

It turned out the failing decoding was caused by the parent of some pages being a doktype "menu seperator". The URLs to those pages are not decoded when I am logged into the backend. So I was indeed wrong with my initial issue. But thanks for your investigation anyways. Maybe you can check the behavior with the "menu seperator" doktype as well?

from typo3-realurl.

dmitryd avatar dmitryd commented on May 24, 2024

Menu separators are not supposed to have subpages. They are just visual separators that can have rendering in menu as a non-linkable separator, that's all. If you need subpages, you should use folders instead.

from typo3-realurl.

ervaude avatar ervaude commented on May 24, 2024

Whether or not you want subpages of a menu seperator is rather a matter of taste. I've seen it in some projects. I am not a huge fan of it but I do think URL decoding should work here. Don't you?

from typo3-realurl.

dmitryd avatar dmitryd commented on May 24, 2024

Well, it is not a matter of taste. It is a matter of doing it right or wrong. If people do it wrong, it is not a good idea to endorse it.

Change to folder.

from typo3-realurl.

dmitryd avatar dmitryd commented on May 24, 2024

For example, you can say that include($_GET['file']); or 'select * from pages where uid=' . $_GET['uid'] is a matter of taste but it is not. It is about quality. Spacer is spacer, it is not a container for anything else. People should think when they make decisions. There are too many bad implementation out there just because of "matter of taste". I had to spend hours in the past fixing those "matter of taste" and customers had to pay twice: once for implementation, once for fixing it. Just do it right from start!

from typo3-realurl.

ervaude avatar ervaude commented on May 24, 2024

I dont know how your examples are helping.

Thing is: Subpages of the separator doktype are not decoded if there is no cache in realurl v2. The core has no problem with URLs to those pages. Same goes for realurl v1 and even for v2 with present caches.

I just stumpled over this in a project where I cannot just change the page types. I am personally not using the separator for structuring my page tree but I know some projects that do. I thought this breaking behavior of your extension might be of interest for you.

If you don't care you may close this ticket.

from typo3-realurl.

dmitryd avatar dmitryd commented on May 24, 2024

You'll need to go to extension properties in 2.0.5 (in the extension manager):

bb1

There you set the checkbox to enable bad behavior 😏

bb2

I know, name is provocative but I really want people to get good habits and get rid of bad ones.

from typo3-realurl.

klodeckl avatar klodeckl commented on May 24, 2024

Hm, funny discussion. I think it is not well enough described, “Menu separator“ can be used for both, to separate a menu in different groups like Dmitry meant and to separate a tree into submenus. I also used it e.g. for a topnavigation because it separates a menu and it just looks better and you can better differ it from other folders for records storage. So maybe bad behavoir is not exactly correct ;-)

from typo3-realurl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.