[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 12 12:07:54 CEST 2009


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