[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 Jun 28 11:33:47 CEST 2009


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