【问题标题】:Dynamic wrapping according to field:title根据字段动态包装:标题
【发布时间】:2017-02-01 09:03:55
【问题描述】:

编辑: 在开始之前,请考虑在我原来的帖子中,我用来说明问题的条件令人困惑。我现在用### 标记它。这只是为了表明我需要一个类似 if 条件的解决方案。但是,带有括号 [] 的 if 条件在打字稿中此时不起作用。请参阅下面的解决方案,它使用 override.if。这工作得很好!

在使用打字稿创建的 tmenu 中,我想根据项目所属页面的标题以不同方式包装项目。我使用 Foundation 作为元素的宽度,因此使用大 4 类。现在基本的包装(wrapitemandsub)没有问题,但是有一页的标题更长,我需要使用大8类。在下面的代码中,我编写了一个带有无效表达式的条件,只是为了向您展示它的行为方式。

这是导航脚本:

lib.content_menu = COA
lib.content_menu {

  1 = HMENU
  1 {
    entryLevel = 0
    1 = TMENU
    1 {
      expAll = 1
      NO {
        ### [current pagetitle == somevalue]
        wrapItemAndSub = <li class="columns small-8 large-8 active">|</li>wrap
        ### [ELSE]
        wrapItemAndSub = <li class="columns small-4 large-4">|</li>
        ### [END]
      }
      ACT = 1
      ACT {
        wrapItemAndSub = <li class="columns small-4 large-4 active">|</li>
      }
      CUR = 1
      CUR < .ACT
      IFSUB = 1
      IFSUB {
        ATagParams = onclick='return false;'
        wrapItemAndSub = <li class="columns small-4 large-4">|</li>
      }
      ACTIFSUB = 1
      ACTIFSUB {
        ATagParams = onclick='return false;'
        wrapItemAndSub = <li class="columns small-4 large-4 active">|</li>
      }
      CURIFSUB = 1
      CURIFSUB < .ACTIFSUB
    }
    2 = TMENU
    2 {
      wrap = <ul class="menu vertical">|</ul>
      NO {
        wrapItemAndSub = <li>|</li>
      }
      CUR = 1
      CUR {
        wrapItemAndSub = <li class="active">|</li>
      }
    }
  }
}

谁能帮我解决这个问题? :)

【问题讨论】:

    标签: html css typo3 typoscript


    【解决方案1】:

    在您的上下文中,您可以使用 .if 或 .override - 在 TSRef 中了解有关它们的更多信息: https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/If/Index.html https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#override

    试试这样:

    wrapItemAndSub = <li class="columns small-4 large-4">|</li>
    wrapItemAndSub.override = <li class="columns small-8 large-8 active">|</li>
    wrapItemAndSub.override.if.value = titletocheck
    wrapItemAndSub.override.if.equals.field = title
    

    【讨论】:

    • 嘿,非常感谢,这正是我想要的!我对错字很陌生(一般来说),所以我非常感谢你的帮助! [field:] 条件只是为了说明我的问题:)
    • 由于大括号内不能使用 TS 条件,我编辑了问题以避免与 TS 条件混淆。所以不需要在答案中提示 TS 条件。
    • 我现在还写了一份关于如何理解条件的免责声明。我也改变了条件本身,所以它显然只是一个 if like 条件的例子,而不是特别来自打字稿的一个例子。我希望现在好多了:)
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2019-12-31
    • 2017-11-13
    • 2018-03-30
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多