这是“我的”旧语言切换,它也会占用tx_news,如果页面或新闻项目没有翻译(这是USERDEF
的功能),则不会链接语言:
temp.lang_nav = HMENU
temp.lang_nav {
special = language
special.value = 0,1
special.normalWhenNoLanguage = 0
wrap = |
1 = TMENU
1 {
NO = 1
NO {
linkWrap = <li>|</li>
stdWrap.override = DE || EN
# Build Typolink ourself
doNotLinkIt = 1
stdWrap.typolink.parameter.data = page:uid
stdWrap.typolink.additionalParams = &L=0 || &L=1
stdWrap.typolink.addQueryString = 1
stdWrap.typolink.addQueryString.exclude = L,id,cHash,no_cache
stdWrap.typolink.addQueryString.method = GET
stdWrap.typolink.useCacheHash = 1
stdWrap.typolink.no_cache = 0
}
// Active language
ACT = 1
ACT < .NO
ACT {
stdWrap.typolink.ATagParams = class="active"
}
// = NO + No translation
USERDEF1 = 1
USERDEF1 < .NO
USERDEF1{
//doNotShowLink = 1
stdWrap.typolink >
}
// = ACT + No translation
USERDEF2 = 1
USERDEF2 < .USERDEF1
}
}
另外,我使用了https://gist.github.com/michelalbers/fb0c2e04af1d6ff94788的变体,它具有更现代的语法。
一位用户报告说,USERDEF
状态突然不再为未翻译的新闻启动了。
实际上,我无法证明这对于未经翻译的新闻有效,但我很确定。
你怎么看;一个bug?语法错误? USERDEF
不是为了新闻,只为了网页?或者这根本没用过?
如果是最后一种,有没有办法达到这样的效果(不要链接翻译未翻译的新闻)?
答案 0 :(得分:0)
显然,我要求的不是一个功能。
在未翻译的项目上使用lang开关时,防止用户登陆全局404页面的解决方法是为新闻制作单独的404页面,并提供更清晰的解释。
如果您设置了类似
的内容'pageNotFound_handling' => 'USER_FUNCTION:typo3conf/ext/template/Classes/Various/noAccess.php:noAccess->pageNotFound',
在localconf中,你可以在那里工作。