[TYPO3-core] RFC #11224: Special menu directory only renders 1st level if special.value is a mount point

Xavier Perseguers typo3 at perseguers.ch
Sun Sep 20 01:02:49 CEST 2009


Hi,

REMINDER #9.

I took Francois wish and made another patch with comments. This is really easy to test as I described all steps in the bug tracker. Thanks for reviewing and committing.


Xavier Perseguers wrote:
> Hi,
> 
> REMINDER #8
> 
> Xavier Perseguers wrote:
>> Hi,
>>
>> Sorry to have forgotten to send reminders but as I reverted my whole 
>> trunk directory yesterday to test some pending tasks without 
>> side-effect, I discover this morning that this one was not yet 
>> committed...
>>
>> Thanks for taking care of my REMINDER #7.
>>
>>
>> Xavier Perseguers wrote:
>>> Hi,
>>>
>>> REMINDER #6
>>>
>>>
>>> Xavier Perseguers wrote:
>>>> Hi,
>>>>
>>>> REMINDER #5
>>>>
>>>>
>>>> Xavier Perseguers wrote:
>>>>> Hi,
>>>>>
>>>>> REMINDER #4
>>>>>
>>>>> Xavier Perseguers wrote:
>>>>>> Hi,
>>>>>>
>>>>>> REMINDER #3
>>>>>>
>>>>>>
>>>>>>
>>>>>> Xavier Perseguers wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> REMINDER #2
>>>>>>>
>>>>>>> Xavier Perseguers wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> REMINDER #1
>>>>>>>>
>>>>>>>>
>>>>>>>> Xavier Perseguers wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> This is a SVN patch request with step-by-step explanation on 
>>>>>>>>> how-to reproduce.
>>>>>>>>>
>>>>>>>>> Type: Bugfix
>>>>>>>>>
>>>>>>>>> Bugtracker reference:
>>>>>>>>> http://bugs.typo3.org/view.php?id=11224
>>>>>>>>>
>>>>>>>>> Branches:
>>>>>>>>> trunk (previous may certainly apply too)
>>>>>>>>>
>>>>>>>>> Problem:
>>>>>>>>> Create a directory menu with special.value being a mount point 
>>>>>>>>> (Substitute Mount Point (this page) with Mounted page is not 
>>>>>>>>> set). E.g.,
>>>>>>>>>
>>>>>>>>> lib.menu = HMENU
>>>>>>>>> lib.menu.special = directory
>>>>>>>>> lib.menu.special.value = 6
>>>>>>>>>
>>>>>>>>> lib.menu.1 = TMENU
>>>>>>>>> lib.menu.1 {
>>>>>>>>>     expAll = 0
>>>>>>>>>     # standard configuration for NO, CUR, ...
>>>>>>>>> }
>>>>>>>>> lib.menu.2 < lib.menu.1
>>>>>>>>> lib.menu.3 < lib.menu.2
>>>>>>>>>
>>>>>>>>> 1st level is shown but once an entry from 1st level become 
>>>>>>>>> active, 2nd level (and of course 3rd level will never be shown).
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Solution:
>>>>>>>>> Make sure to "slide-down" mount point information (_MP_PARAM) 
>>>>>>>>> to children record in the rootline otherwise isNext() method 
>>>>>>>>> will never return TRUE and submenus won't be generated.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Additional information:
>>>>>>>>> Patch contains variable substitution from existing code in the 
>>>>>>>>> part that was modified in order to make the block of code more 
>>>>>>>>> readable.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> How-to reproduce:
>>>>>>>>> Set-up your environment with e.g.,
>>>>>>>>>
>>>>>>>>> root
>>>>>>>>> |-- [1] page1
>>>>>>>>> | `-- [2] page1.1
>>>>>>>>> | `-- [3] page1.1.1
>>>>>>>>> |
>>>>>>>>> |-- [4] page2
>>>>>>>>> | `-- [5] page2.1
>>>>>>>>> |
>>>>>>>>> |-- [6] pageMP (--> 7)
>>>>>>>>> |
>>>>>>>>> `-- [7] sysfolder
>>>>>>>>>     |-- [8] page3
>>>>>>>>>     | `-- [9] page3.1
>>>>>>>>>     | `-- [10] page3.1.1
>>>>>>>>>     |
>>>>>>>>>     `-- [11] page4
>>>>>>>>>
>>>>>>>>> Create your menu with TS from this bug's description and let
>>>>>>>>>
>>>>>>>>> lib.menu.special.value = 1
>>>>>>>>>
>>>>>>>>> You see a menu with
>>>>>>>>>
>>>>>>>>> page1
>>>>>>>>> page2
>>>>>>>>>
>>>>>>>>> Once you activate page1, you see next level:
>>>>>>>>>
>>>>>>>>> page1
>>>>>>>>>   page1.1
>>>>>>>>> page2
>>>>>>>>>
>>>>>>>>> and same behaviour with page2 active or page1.1 active. Every 
>>>>>>>>> active page lets you see its children.
>>>>>>>>>
>>>>>>>>> Now change entry point:
>>>>>>>>>
>>>>>>>>> lib.menu.special.value = 6
>>>>>>>>>
>>>>>>>>> You get a menu
>>>>>>>>>
>>>>>>>>> page3
>>>>>>>>> page4
>>>>>>>>>
>>>>>>>>> But when you activate page3, you don't see page3.1
>>>>>>>>>
>>>>>>>>> Now apply patch and test again. Normal menu (page1, page2) 
>>>>>>>>> still works, menu with mount point now shows
>>>>>>>>>
>>>>>>>>> page3
>>>>>>>>>   page3.1
>>>>>>>>> page4
>>>>>>>>>
>>>>>>>>> When page3 is active and shows
>>>>>>>>>
>>>>>>>>> page3
>>>>>>>>>   page3.1
>>>>>>>>>     page3.1.1
>>>>>>>>> page4
>>>>>>>>>
>>>>>>>>> when page3.1 is active.
> 


-- 
Xavier Perseguers
http://xavier.perseguers.ch/en

One contribution a day keeps the fork away


More information about the TYPO3-team-core mailing list