【问题标题】:Typoscript menu jump to subpage排版菜单跳转到子页面
【发布时间】:2013-02-24 11:46:02
【问题描述】:

我想创建一个带有子菜单的菜单,通过打字稿直接安静下来。挑战在于,如果包含页面的内容为空,我希望父级别直接链接到第一个子页面。

我知道您可以通过后端的快捷链接来实现,但如果可能的话,我想通过打字稿来实现。

有什么想法吗?我附上了我目前使用的打字稿菜单代码。

lib.mainMenu = COA
lib.mainMenu{
10 = HMENU
10{
        # Level 1, further levels are generic
        1 = TMENU
        1.noBlur = 1
        1.expAll = 0
        1.wrap = <ul data-role="listview" data-inset="true">|</ul>
        1.NO = 1
        1.NO.ATagBeforeWrap = 1
        1.NO.insertData = 1
        1.NO.wrapItemAndSub.insertData = 1
        1.NO.wrapItemAndSub = <li id="menu_{field:uid}">|</li>
        1.NO.ATagTitle.field = subtitle // title

        1.ACT = 1
        1.ACT.ATagBeforeWrap = 1
        1.ACT.wrapItemAndSub.insertData = 1
        1.ACT.wrapItemAndSub = <li id="menu_{field:uid}" class="active">|</li>
        1.ACT.ATagTitle.field = subtitle // title

        1.CUR = 1
        1.CUR.ATagBeforeWrap = 1
        1.CUR.wrapItemAndSub.insertData = 1
        1.CUR.wrapItemAndSub = <li id="menu_{field:uid}" class="active">|</li> 
        1.CUR.ATagTitle.field = subtitle // title

}
20 < .10
20.entryLevel = 1
20.1.wrap = <ul data-role="listview" data-inset="true">|</ul>
30 < .20
30.entryLevel = 2
40 < .20
40.entryLevel = 3
}

【问题讨论】:

    标签: typo3 typoscript


    【解决方案1】:

    也许您可以根据此处的提示构建您的解决方案: http://typo3-blog.net/tutorials/news/if-funktionen-in-typo3.html

    在上面链接的示例中,它不是菜单,但表上有一个子查询(在您的情况下为 tt_content),然后将使用该子查询来定义是否有输出:

    temp.main = COA
    temp.main.20 = COA
    temp.main.20 {
      [...]
      wrap=&lt;div class="meine-adressen"&gt;|&lt;/div&gt;
      stdWrap.if.isTrue.cObject = CONTENT
      stdWrap.if.isTrue.cObject{
        table = tt_address
        select {
          [...]
        }
      renderObj = TEXT
      renderObj.value = 1
      }
    }
    
    temp.main.21 = TEXT
    temp.main.21 {
      wrap=&lt;div class="keine-adressen"&gt;|&lt;/div&gt;
      value = Keine Adressen gefunden
      stdWrap.if.isFalse.cObject < temp.main.20.stdWrap.if.isTrue.cObject
    }
    

    但我不确定这是否会让您在 HMENU 中感到头疼

    【讨论】:

      【解决方案2】:

      我认为可以使用打字稿,但我不知道该怎么做。 以下排版可能对您有所帮助:

      查找页面中内容元素数量的排版:

      lib.emptypage = CONTENT
      lib.emptypage{
          table = tt_content
          select{
            selectFields = count(uid) AS count
            pid = id
          }
          renderObj = COA
          renderObj {
            10 = TEXT
            10 {
              value = {field:count}
              insertData = 1
            }
          }
          wrap = |
      }
      

      如果计数为零,则页面为空。

      获取第一个子页面的排版:

      lib.firstsubpage= HMENU
      lib.firstsubpage {
          maxItems = 1
          1 = TMENU
          1 {
              NO = 1
          }
      }
      

      请在实施后分享您的排版解决方案。

      【讨论】:

      • 我们做了一些变通办法,很抱歉花了这么长时间才解决这个问题,谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多