[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 Jul 19 10:40:26 CEST 2009


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