TYPO3菜单为每个链接创建两个锚点

时间:2017-08-18 08:39:41

标签: typoscript typo3-6.2.x typolink

以下TypoScript为每个li标签创建两个锚标记。

5 = HMENU
5 {
   wrap = <ul class="menu clearfix">|</ul>
   special = directory
   special.value = {$supportfolder}
   1 = TMENU
   1 {
     noBlur=1
     NO.ATagParams = title="{field:title}"
     NO.ATagParams.insertData = 1
     NO.allWrap = <li>|</li>
     NO.stdWrap.cObject = CASE
     NO.stdWrap.cObject {
       key.field = doktype
       1 = TEXT
       1 {
         typolink.parameter.field = uid
         field = title
         stdWrap.htmlSpecialChars = 1
       }
       # pagetype shortcut
       4 = TEXT
       4 {
         field = title
         typolink.parameter.field = shortcut
       }
       # page typo3 external url
       3=COA
       3 {
         # Textblock für HTTP-Links (Wert 1)
         10 = TEXT
         10 {
           field = title
           typolink.parameter.data >
           typolink.parameter.dataWrap = http://{field:url}
           stdWrap.htmlSpecialChars = 1
           if {
             value=1
             equals.field=urltype
           }
         }
         # Textblock für HTTPS-Links (Wert 4)
         20 < .10
         20 {
           typolink.parameter.dataWrap = https://{field:url}
           if.value = 4
         }
       }
     }
     ACT < .NO
     ACT = 1
   }
 }

HTML结果是:

<li>
   <a href="/kontakt.htm" title="Kontakt"></a>
   <a href="https://www.google.de" target="_top">Kontakt</a>
</li>

使用cObject wrap构建菜单的原因是,当页面类型实际上是外部链接时,TYPO3不输出外部链接。相反,它显示页面的内部链接,然后重定向到外部链接。

使用简单的typolink,它不会将url方案添加到链接中。这就是为什么我想出这个解决方案。

问题是:如何摆脱第一个标签,这是毫无意义和错误的。 : - )

1 个答案:

答案 0 :(得分:2)

尝试在NO

中使用doNotLinkIt = 1