[TYPO3-english] HMENU as if on other page

Rudy Gnodde (WIND Internet) rgn at windinternet.nl
Mon Jul 20 12:02:51 CEST 2009


Hello Tyler,

Tyler Kraft wrote:
> I understand what you are saying and I appreciate you trying to help. 
> And I pretty sure that I really do understand exactly what is capable 
> with userfunc and
> stdwrap and menus, etc as in the past I've built some overly complex 
> structured menus that do more than just link to pages. I honestly don't 
> believe this one can be done very easily (if at all) with stdWrap and 
> user functions - they simply won't accomplish what I need to do afaik.
> 
> But I'm happy to be proven wrong! :-)

Anything that is done in TYPO3 can be mimicked with a userfunction, 
since they're both PHP. However because several things are hardcoded in 
the functions used to create an HMENU you'll basically have to rewrite 
the whole thing.

I probably will solve it with a userfunction though, since I don't 
really need complete flexibility right now and don't have the time to do 
it differently.

> 
> So here you go, have a shot at it:
> 
> The site has approximately 2000 pages that go various depths (in some 
> cases 8 or 9 levels deep), and one of the features on it is that the 
> client can list events. We've built a events plugin for them, and the 
> plugin has a sysfolder where events and event categories are stored.
> 
> 
> The client can then place the plugin on any page, at any depth on the 
> site and in any place they want, and choose a category and the FE output 
> will be a listing on events that are within the selected category and 
> meet other specific conditions (all set via the page plugin). When 
> clicking the link from the FE listing you are directed to one specific 
> page and shown the event details. All instances of the plugin go to this 
> one page. In the link we pass a get variable that says what the previous 
> page id that you just came from is.
> 
> So based upon this get variable for the last page id all the navigation 
> on the site has to reflect and be the same as if you were on the 
> previous page. For the top navigation this can be easily accomplished 
> using some conditions in the TS. For the breadcrumb navigation this can 
> be accomplished with a simple php function. The part that I'm at a loss 
> to mimic is the left hand navigation. The Ts for the left hand menu is 
> below, and it is in a works 100% atm.
> 
> 
> temp.lhnav = HMENU
> temp.lhnav {
>   wrap = <div id="lhnav"><div id="ilhnav">|<div 
> class="navtlc"></div><div class="navtrc"></div><div 
> class="navblc"></div><div class="navbrc"></div></div></div>
>   entryLevel = 0
> 
>   1 = TMENU
>   1{
>     noBlur = 1
>     wrap = <ul>|</ul>
>     NO.doNotLinkIt = 1
>     NO.doNotShowLink = 1
> 
>     CUR = 1
>     CUR.stdWrap.htmlSpecialChars = 1
>     CUR.stdWrap.field = nav_title//title
>     CUR.stdWrap.wrap = <span>|</span>
>     CUR.wrapItemAndSub = <li>|</li>
>     CUR.doNotLinkIt = 1
>     CUR.linkWrap = <span class="cur">|</span>
> 
>     ACT = 1
>     ACT.ATagParams = class="act"
>     ACT.stdWrap.htmlSpecialChars = 1
>     ACT.stdWrap.field = nav_title//title
>     ACT.stdWrap.wrap = <span>|</span>
>     ACT.wrapItemAndSub = <li>|</li>
>   }
> 
>   2 = TMENU
>   2{
>     noBlur = 1
>     wrap = <ul>|</ul>
> 
>     NO = 1
>     NO.doNotLinkIt = 1
>     NO.doNotShowLink = 1
>     NO.wrapItemAndSub >
> 
>     CUR = 1
>     CUR.stdWrap.htmlSpecialChars = 1
>     CUR.stdWrap.field = nav_title//title
>     CUR.stdWrap.wrap = <span>|</span>
>     CUR.wrapItemAndSub = <li>|</li>
>     CUR.doNotLinkIt = 1
>     CUR.linkWrap = <span class="cur">|</span>
> 
>     ACT = 1
>     ACT.ATagParams = class="act"
>     ACT.stdWrap.htmlSpecialChars = 1
>     ACT.stdWrap.field = nav_title//title
>     ACT.stdWrap.wrap = <span>|</span>
>     ACT.wrapItemAndSub = <li>|</li>
>   }
> 
>   3 < .2
>   4 < .3
>   4{
>     NO.stdWrap.htmlSpecialChars = 1
>     NO.stdWrap.field = nav_title//title
>     NO.stdWrap.wrap = <span>|</span>
>     NO.wrapItemAndSub = <li>|</li>
>     NO.doNotLinkIt = 0
>     NO.doNotShowLink = 0
>   }
> 
> }
> 
> [treeLevel=1]
>   temp.lhnav.2{
>     NO.stdWrap.htmlSpecialChars = 1
>     NO.stdWrap.field = nav_title//title
>     NO.stdWrap.wrap = <span>|</span>
>     NO.wrapItemAndSub = <li>|</li>
>     NO.doNotLinkIt = 0
>     NO.doNotShowLink = 0
>   }
> 
> [treeLevel=2]
>   temp.lhnav.3{
>     NO.stdWrap.htmlSpecialChars = 1
>     NO.stdWrap.field = nav_title//title
>     NO.stdWrap.wrap = <span>|</span>
>     NO.wrapItemAndSub = <li>|</li>
>     NO.doNotLinkIt = 0
>     NO.doNotShowLink = 0
>   }
> [global]
> 
> 
> 

Regards,

Rudy


More information about the TYPO3-english mailing list