[TYPO3-english] typoscript multi-column mega-menu

Andreas Becker ab.becker at web.de
Wed Sep 21 07:28:55 CEST 2011


Hi Jaco

What do you wanna achieve?

something like this http://goo.gl/YWRtL - move the mouse over to 17th
Karmapa

Here you can see the first level horizontal
second horizontal and below the third level of the subfolders of each

You can download the template here and check out how it is done. or even
copy paste the code, or use the template.

http://typo3.org/extensions/repository/view/skin_cityscape/current/

live demo hereL

demo.webempoweredchurch.org - choose your skin

As all template sare done with pure TS you can also reuse the code in any
standard template ;-)

Andi



On Wed, Sep 21, 2011 at 10:46 AM, jaco graaff <jaco at spacexplorer.co.za>wrote:

> Man, I should have just created a custom php script - fed the whole menu
> into that and send it back
>
> Is this the better option - I think it will take less time???
>
> Typoscript makes it really difficult for certain things (I know it's not
> scripting but just declaration)
>
> anyway - I am having difficulty getting the 3rd level rendered under their
> parents which is now divided in columns:
>
> example:
>
>
> level1  ##the start - I handle this with a TEXT object now since DIRECTORY
> listing does not start with the special.value=PID - but the next level
>
> (level2:column01)   ## to get columns I have to use HMENU
> --level2-item01 ## these gets seperated by TMENU - see TMENU.10, TMENU.20,
> TMENU.30
> ---------level3-item01 ## now usually this should work with TMENU on next
> level - but it does not work - if I use it it will disrupt the
> {register:count_HMENU_MENUOBJ}
> ---------level3-item02
> --level2-item03
> ---------level3-item01
> ---------level3-item02
>
> (level2:column02)
> --level2-item02
> --------level3-item01
> --------level3-item02
> --level2-item04
> --------level3-item01
> --------level3-item02
>
>
>
>
>
> ##----------------------------**------------------------------**
> ----------------------------
>
> lib.threeColumn >
> lib.threeColumn = COA
> lib.threeColumn {
>
>
> ##---LEVEL 01
> 1 = TEXT
> 1.typolink.parameter = {$SERVICES_PID}
>
>
>
> ##---LEVEL 02
>
>   10.wrap = col1<br>|
>   10 = HMENU
>   10.special = directory
>   10.special.value = {$SERVICES_PID}
>   10.1 = TMENU
>   10.1.NO{
>       allWrap=1: |<br>
>
>
>       stdWrap.if.isFalse.prioriCalc=**1
>       stdWrap.if.isFalse.cObject=**TEXT
>       stdWrap.if.isFalse.cObject.**insertData=1
>       stdWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ}+2)%3
>
>       allWrap.if.isFalse.cObject=**TEXT
>       allWrap.if.isFalse.prioriCalc=**1
>       allWrap.if.isFalse.cObject.**insertData=1
>       allWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ}+2)%3
>   }
>
>
> 20 < .10
> 20.wrap = col2<br>|
>   20.1.NO{
>       allWrap=2: |<br>
>       stdWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ}+1)%3
>       allWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ}+1)%3
>   }
>
> 30 < .10
> 30.wrap = col3<br>|
>   30.1.NO{
>       allWrap=3: |<br>
>       stdWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ})%3
>       allWrap.if.isFalse.cObject.**value=({register:count_HMENU_**
> MENUOBJ})%3
>   }
> }
>
> ##----------------------------**------------------------------**
> ----------------------------
>
>
>
>
> so - if I wanted a 4th column
> I would just add.............
>
> ##copy the code of .10 and just make necessary changes
> 40 < .10
> ## obviously the %3 would change to %4 in all code blocks
> ## I would then just test against +4 (1st column), +3 (2nd column), ......
> +0(4th column)
>
>
>
> ______________________________**_________________
> TYPO3-english mailing list
> TYPO3-english at lists.typo3.org
> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**english<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english>
>


More information about the TYPO3-english mailing list