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

Xavier Perseguers typo3 at perseguers.ch
Fri Sep 4 09:57:34 CEST 2009


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