Numbered menu

Submitting your vote...
Not rated yet. Be the first who rates this item!
Click the rating bar to rate this item.

This example creates a menu where every single menu entry is consecutively numbered.

This can be usefull on pages that need a structured overview.

 

 

lib.menu=HMENU
lib.menu.1=TMENU
# set expAll to 1 if the menu should be expandet by default
lib.menu.1.expAll=0
lib.menu.1.wrap=<ul>|</ul>
lib.menu.1.NO{
         # fill the used registers
  before.cObject=LOAD_REGISTER
  before.cObject{
    	  # Leading 0 if there where outputtet less than 10 items
    leadingZero.cObject=TEXT
    leadingZero.cObject{
      value=0
      if.value=9
      if.isLessThan.cObject=TEXT
      if.isLessThan.cObject{
        value={register:mainMenuNumber}
        insertData=1
      }
    }
    		# Counter for the mainmenu points
    mainMenuNumber.cObject=TEXT
    mainMenuNumber.cObject{
      value={register:mainMenuNumber}+1
      insertData=1
    }
    mainMenuNumber.prioriCalc=intval
    		# initialize the counter for the 2. menu level
    subMenuNumber<lib.menu.1.NO.before.cObject.mainMenuNumber
    subMenuNumber.cObject.value=0
    		# initialize the counter for the 3. menu level
    subSubMenuNumber<lib.menu.1.NO.before.cObject.mainMenuNumber
    subSubMenuNumber.cObject.value=0
  }
  	# Show the numbering in the link tags
  ATagBeforeWrap=1
  linkWrap={register:leadingZero}{register:mainMenuNumber} |
  	# set insertData on allStdWrap  because linkWrap has no stdWrap properties
  allStdWrap.insertData=1
  wrapItemAndSub=<li>|</li>
}
lib.menu.2<lib.menu.1
lib.menu.2.NO{
  before.cObject{
    	  # don't increment counter for the 1. menu level here
    mainMenuNumber.cObject.value={register:mainMenuNumber}
    		# Leading 0 for the 2. level
    leadingZero2<lib.menu.2.NO.before.cObject.leadingZero
    leadingZero2.cObject.if.isLessThan.cObject.value={register:subMenuNumber}
    		# increment counter for the 2. menu level heren
    subMenuNumber.cObject.value={register:subMenuNumber}+1
  }
  linkWrap={register:leadingZero}{register:mainMenuNumber}.{register:leadingZero2}{register:subMenuNumber} |
}
lib.menu.3<lib.menu.2
lib.menu.3.NO{
  before.cObject{
    	  # Leading 0 for the 3. menu level
    leadingZero3<lib.menu.2.NO.before.cObject.leadingZero
    leadingZero3.cObject.if.isLessThan.cObject.value={register:subSubMenuNumber}
        #  don't increment counter for the 2. menu level here
    subMenuNumber.cObject.value={register:subMenuNumber}
    		# increment counter for the 1. menu level here
    subSubMenuNumber.cObject.value={register:subSubMenuNumber}+1
  }
  linkWrap={register:leadingZero}{register:mainMenuNumber}.{register:leadingZero2}{register:subMenuNumber}.{register:leadingZero3}{register:subSubMenuNumber} |
}

 

Visual example for numbered menu


Top 10 Updates

Using lightbox without extension geändert am  13-Jun-2008 14:20:51
Custom field for GMENU alt text geändert am  13-Jun-2008 13:58:07
Extending typoscript properties with stdWrap geändert am  13-Jun-2008 13:54:32
Create menus using data from other tables than "pages" V2  geändert am  24-Mar-2008 13:02:09
Login geändert am  17-Mar-2008 12:47:52
Forum geändert am  17-Mar-2008 10:07:47
Who is Typo3wizard.com geändert am  26-Dec-2007 16:07:32
Menu as un-nested lists (iphone navigation) geändert am  29-Oct-2007 15:05:53
IF Conditions with AND and OR operators geändert am  16-Oct-2007 19:16:04
UserFunc to fix problems with HMENU type "special=updated"  geändert am  16-Oct-2007 18:58:40
Deutsch
Search: