TypoScript菜单:USERDEF1和USERDEF2状态不适用于tx_news

时间:2016-10-26 19:32:20

标签: typo3 typoscript typo3-7.6.x tx-news typo3-7.x

这是“我的”旧语言切换,它也会占用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不是为了新闻,只为了网页?或者这根本没用过?

如果是最后一种,有没有办法达到这样的效果(不要链接翻译未翻译的新闻)?

1 个答案:

答案 0 :(得分:0)

显然,我要求的不是一个功能。

在未翻译的项目上使用lang开关时,防止用户登陆全局404页面的解决方法是为新闻制作单独的404页面,并提供更清晰的解释。

如果您设置了类似

的内容
'pageNotFound_handling' => 'USER_FUNCTION:typo3conf/ext/template/Classes/Various/noAccess.php:noAccess->pageNotFound',

在localconf中,你可以在那里工作。