【问题标题】:Typo3 menu with anchors带有锚点的 Typo3 菜单
【发布时间】:2015-05-20 00:18:34
【问题描述】:

我在使用 Typo3 构建菜单方面需要帮助。目前我在 TS 中像这样构建我的菜单:

TopNavigation = HMENU
TopNavigation {
  special = directory
  special.value = 3
  entryLevel = 1
  1 = TMENU
  1.expAll = 1
  1.NO = 1
  1.NO.wrapItemAndSub = <li class="parent"> | </li>

  2 < .1
  2.expAll = 0
  2.NO = 1
  2.NO.ATagBeforeWrap = 1
  2.NO.wrapItemAndSub = <li> | </li>
  2.wrap = <ul class="dropdown"> | </ul>
}

但是像这样,Typo3 使用页面树来创建导航。现在我想将页面本身的锚点添加到我的导航中。我发现这样做的 TS 如下所示:

AnchorNavigation = CONTENT
AnchorNavigation  {
  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = colPos=0 AND sectionIndex=1
    languageField=sys_language_uid
  }
  wrap = <ul>|</ul>
  renderObj = TEXT
  renderObj {
    field = header   
    dataWrap= <li><a href="#c{field:uid}">|</a> </li>
  } 
}

这很好用,但我如何将我的这两个结合起来?

最后,我想要这样的东西:

Parent Page 1
Parent Page 2
 -> Anchor 1
 -> Anchor 2
 -> Anchor 3
 -> Childpage 1
Parent Page 3
 -> Anchor 1
 -> Anchor 2
 -> Anchor 3
Parent Page 4

我希望有人可以帮助我。

【问题讨论】:

    标签: menu anchor typo3 typoscript


    【解决方案1】:

    查看 TMENU 项目的 TSref:http://docs.typo3.org/typo3cms/TyposcriptReference/MenuObjects/Tmenuitem/Index.html

    有一个名为“after”的属性可用于在当前菜单项之后和呈现当前菜单项的子页面之前插入任何 TS 对象。

    这个解决方案有点老套(关于包装),但你会明白的 ;-)

    page.5 = HMENU
    page.5 {
      special = directory
      special.value = 3
      entryLevel = 1
      1 = TMENU
      1.wrap = <ul>|</ul>
      1.expAll = 1
      1.NO = 1
      1.NO.wrapItemAndSub.cObject = TEXT
      1.NO.wrapItemAndSub.cObject.value = <li class="parent">|</ul></li>
      1.NO.after.cObject = COA
      1.NO.after.cObject {
        # wrap all section links and subpages links.
        # hint: </ul> is done by 1.NO.wrapItemAndSub
        10 = TEXT
        10.value = <ul class="dropdown">
    
        20 = CONTENT
        20 {
          table = tt_content
          select {
            pidInList.field = uid
            orderBy = sorting
            where = colPos=0 AND sectionIndex=1
            languageField=sys_language_uid
          }
          renderObj = TEXT
          renderObj {
            field = header
            typolink.parameter.field = pid
            typolink.section.field = uid
            dataWrap= <li class="section-link">|</li>
          }
        }
      }
      2 < .1
      2.wrap >
      2.expAll = 0
      2.NO = 1
      2.NO.ATagBeforeWrap = 1
      2.NO.wrapItemAndSub >
      2.NO.wrapItemAndSub = <li class="subpage-link">|</li>
      2.NO.after >
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2019-08-31
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多