【问题标题】:Typoscript condition && condition not working?排版条件&&条件不起作用?
【发布时间】:2011-10-16 15:26:40
【问题描述】:

这是我的(缩短的)代码:

lib.nav = COA
lib.nav {
  50 = HMENU
  50 { 
      [ ... ]
  wrap = <nav>|</nav> 
  }
}

[browser = msie] && [version = <9]
lib.nav.50.wrap = <div id="nav">|</div> 
[global]

我所知道的(做过的):

  • [browser = msie] 单独有效,但适用于所有 IE(我需要少于 9 个)
  • 我安装了conditions 扩展
  • 我搜索了它,但找不到任何适合完全我的问题

我需要的是一个可以工作的 TS sn-p 或者一个解决方法。 谢谢!

【问题讨论】:

    标签: typo3 typoscript browser-detection


    【解决方案1】:

    我知道这个问题已经很老了,但我刚刚解决了类似的问题。在我的情况下,条件失败了,因为我在这样的块中使用了它:

    config {
        # htmlTag_setParams, adding language and some classes for the Foundation framework
        [browser = msie] && [version =< 9]
        htmlTag_setParams = lang="{$config.language}" class="no-js lt-ie9"
        [else]
        htmlTag_setParams = lang="{$config.language}" class="no-js"
        [global]
    }
    

    当我把它改写为

    # htmlTag_setParams, adding language and some classes for the Foundation framework
    [browser = msie] && [version =< 9]
    config.htmlTag_setParams = lang="{$config.language}" class="no-js lt-ie9"
    [else]
    config.htmlTag_setParams = lang="{$config.language}" class="no-js"
    [global]
    

    它开始按预期工作

    附:我正在使用 Typo3 v6.1

    【讨论】:

    • 是的,条件不能在块内使用。尽管 MrRap 并非如此(因为某些条件对他有用),但它可能对其他人有用。
    【解决方案2】:

    你的情况看起来是正确的。

    那么,也许你有不同的错误?尝试通过测试没有副作用的条件来区分您的问题。创建一个新页面,创建一个新的 ts-template 并将这段代码放入其中:

    page >
    page = PAGE
    page.typeNum = 0
    page.10 = TEXT
    [browser = msie] && [version = <9]
    page.10.value = Condition is meet
    [else]
    page.10.value = Condition is not meet
    [global]
    

    现在在您的浏览器中打开此页面。现在您可以调整您的条件。如果一切正常,问题就出在其他地方。

    【讨论】:

      【解决方案3】:

      如果您的脚本存储并嵌套在文件系统中(例如,使用 INCLUDE_TYPOSCRIPT),请尝试将您的条件直接插入您的typo3 后端,在setup field of your main template 中。

      #your previously included file
      <INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/_TypoScript/myTyposcriptFile.ts">
      
      #your condition
      page >
      page = PAGE
      page.typeNum = 0
      page.10 = TEXT
      [browser = msie] && [version = <9]
      page.10.value = Condition is meet
      [else]
      page.10.value = Condition is not meet
      [global]
      

      您还可以使用TypoScript Object Browser底部的“条件”功能检查您的条件是否按预期工作。

      【讨论】:

        【解决方案4】:

        问题是 [browser = msie] 不再工作(T3 4.5+)。即使我在 Internet Explorer 中观看,测试设置始终显示不满足条件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-11
          • 2011-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多