Search code examples
menutypo3hreftyposcript

TMENU in Typo3 - Modify href tag in menu item


Someone might be able to help here?

If Menu item on level 3 has subpages (class="has-children"), I would like to change the href tag to href="#0".

The TS looks like this:

        3 = TMENU
        3 {
            expAll = 1
            stdWrap.wrap = <ul>|</ul>

            NO = 1
            NO.allWrap = <li>|</li>
            NO.allWrap.insertData = 1
            NO.ATagTitle.field = abstract // description // title

            IFSUB = 1
            IFSUB.wrapItemAndSub = <li class="has-children">|</li>
            IFSUB.wrapItemAndSub.insertData = 1
            IFSUB.ATagTitle.field = abstract // description // title

HTML now looks like this:

           <ul>
                <li class="has-children">
                  <a href="/test/england">England</a>
                </li>
                <li>
                  <a href="/test/ireland">Ireland</a>
                </li>
           </ul>

But should look like this:

           <ul>
                <li class="has-children">
                  <a href="#0">England</a>
                </li>
                <li>
                  <a href="/test/ireland">Ireland</a>
                </li>
           </ul>

Any clues? Thanks for helping! :-)


Solution

  • Solved it this way:

            3 {
                expAll = 1
                stdWrap.wrap = <ul>|</ul>
    
                NO = 1
                NO.allWrap = <li>|</li>
                NO.allWrap.insertData = 1
                NO.ATagTitle.field = abstract // description // title
    
                IFSUB = 1
                IFSUB.wrapItemAndSub = <li class="has-children">|</li>
                IFSUB.ATagTitle.field = abstract // description // title
                IFSUB.doNotLinkIt = 1
                IFSUB.stdWrap.cObject = COA
                IFSUB.stdWrap.cObject {
                    10 = TEXT
                    10 {
                            field = nav_title // title
                            wrap = <a href="#0">|</a>                           
                    }
                }
    

    Works now!