【问题标题】:TypoScript Menu: USERDEF1 and USERDEF2 states not working for tx_newsTypoScript 菜单:USERDEF1 和 USERDEF2 状态不适用于 tx_news
【发布时间】:2016-10-26 19:32:20
【问题描述】:

这是“我的”古老的语言切换,它也占 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 状态突然不再用于未翻译的新闻。

实际上,我无法证明这确实适用于未翻译的新闻,但我很确定。

你怎么看;一个错误?语法错误? USERDEF 不是新闻,只是页面?或者这根本就没有用?

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

【问题讨论】:

  • 如果没有 tx_news 翻译,我很惊讶它竟然能正常工作。
  • 嗯..也许没有!

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


【解决方案1】:

显然,我要的不是功能。

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

如果你设置了类似的东西

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

在 localconf 中,您可以在那里完成这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-29
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多