TYPO3 菜单为每个 link 创建两个锚点
TYPO3 Menu creates two anchor per link
以下 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构建菜单的原因是,当页面类型实际上是外部link时,TYPO3不输出外部links。相反,它向页面显示内部 link,然后重定向到外部 link。
由于一个简单的错字link,它没有将url 方案添加到link。这就是为什么我想出了这个解决方案。
问题是:如何摆脱第一个标签,这是毫无意义和错误的。 :-)
尝试在 NO
中使用 doNotLinkIt = 1
以下 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构建菜单的原因是,当页面类型实际上是外部link时,TYPO3不输出外部links。相反,它向页面显示内部 link,然后重定向到外部 link。
由于一个简单的错字link,它没有将url 方案添加到link。这就是为什么我想出了这个解决方案。
问题是:如何摆脱第一个标签,这是毫无意义和错误的。 :-)
尝试在 NO
中使用doNotLinkIt = 1