[TYPO3-core] RFC #12506: Bug: JSMENU does not respect mount point overlays

Joerg Wagner [DigiLog] news.netfielders.de at digilog.de
Thu Nov 19 11:03:54 CET 2009


To easily reproduce the problem and its cure take these steps:

- build a page tree like this:
P1     (Home)
   P2
     P3
   P4
     P6 (Mount Point of P2, "Substitute Mount Point" checked)
   P6   (Mount Point of P4)
   P6   (Mount Point of P4, "Substitute Mount Point" checked)

- use the TS setup below

This will render three JSMENUs with different depths and a conventional 
text menu (for comparison).
Best way to control the JSMENU URLs is to look into the HTML source of 
the generated page where you find the JS declarations of all menues with 
the URLs they link to.

WITHOUT the patch only those JSMENU items will link to the correct URL 
that do not contain a substitute MP anywhere in their rootline.

WITH the patch all JSMENU items on all levels link correctly (AKA 
identical to the links in the text menu).

Please make sure to use my revised patch as of today (also attached to 
this posting)!

Cheers,
Jörg

#---------- TS-SETUP START -------------------

page = PAGE
page.typeNum = 0

# make sure all MPs are linked to their own rootline - not a closer one 
on another currently active branch:
page.config.MP_disableTypolinkClosestMPvalue = 1

page.10 = TEXT
page.10.value = <br><b>JSMENU - 1 Level:</b><br>
page.15 = HMENU
page.15{
   1 = JSMENU
   1 {
     menuName = menu1
     levels = 1
     1.showActive = true
   }
}

page.20 = TEXT
page.20.value = <br><b>JSMENU - 1 Level:</b><br>
page.25 = HMENU
page.25{
   1 = JSMENU
   1 {
     menuName = menu2
     levels = 2
     1.showActive = true
     2.showActive = true
   }
}

page.30 = TEXT
page.30.value = <br><b>JSMENU - 1 Level:</b><br>
page.35 = HMENU
page.35{
   1 = JSMENU
   1 {
     menuName = menu3
     levels = 3
     1.showActive = true
     2.showActive = true
     3.showActive = true
   }
}

page.90 = TEXT
page.90.value = <br><b>HMENU full menu (to compare against):</b><br>

page.95 = HMENU
page.95{
  1=TMENU
  1 {
    expAll=1
    NO=1
    NO{
      allWrap=|<br>
    }
    ACT<.NO
    ACT{
      stdWrap.wrap = <span style="font-weight: bold; color:#c00;">|</span>
   }
  }
  2<.1
  2.NO.allWrap=--&nbsp;|<br>
  2.ACT.allWrap=--&nbsp;|<br>
  3<.1
  3.NO.allWrap=----&nbsp;|<br>
  3.ACT.allWrap=----&nbsp;|<br>
  4<.1
  4.NO.allWrap=------&nbsp;|<br>
  4.ACT.allWrap=------&nbsp;|<br>
  5<.1
  5.NO.allWrap=--------&nbsp;|<br>
  5.ACT.allWrap=--------&nbsp;|<br>
}

#---------- TS-SETUP END -------------------



Xavier Perseguers schrieb am 16.11.2009 19:11:
> Hi,
> 
>> is there anything I can do to motivate you to review the two JSMENU 
>> patches I posted one week ago?
>>
>> Maybe:
>> - More details on a testing scenario (page tree, TS code)?
>> - Text description of what the patches do?
>> - SQL dump of a rudimentary TYPO3 installation containing everything 
>> to reproduce the two errors?
>>
>> Tracking down and correcting these bugs took me nearly two days so it 
>> would really be a pity not to use the results. As said the patches are 
>> thoroughly tested and I am convinced that they are complete in any 
>> aspect. Without these patches JSMENUs will not work in a rather large 
>> number of implementations as the original code is really quite buggy.
> 
> I would suggest you posted a complete but minimal TS setup that renders 
> wrongly without patch and that is OK after applying your patch...
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch4.3.0RC1_jsmenu_mpovl_V2.diff
URL: <http://lists.typo3.org/pipermail/typo3-team-core/attachments/20091119/f56b4e72/attachment-0001.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch4.2.10_jsmenu_mpovl_V2.diff
URL: <http://lists.typo3.org/pipermail/typo3-team-core/attachments/20091119/f56b4e72/attachment-0001.txt>


More information about the TYPO3-team-core mailing list