带有父级和自定义图像标题的子导航 - TypoScript

时间:2016-10-21 08:19:46

标签: navigation typo3 typoscript

大家好,我是typoscript的新手,并试图创建一个带有父级标题和页面中定义的图像的子导航。问题是,我没有找到可能,允许我选择一个特定的标题或一个特定的图像。这就是我的想法(我没有做任何故意缩短示例): 页面结构:

P1
  P1a
  P1b
P2
P3
  P3a
  P3b
  P3c

对于每个主导航,标题将在导航中打印(P1,P2,P3):

menu = HMENU
menu.entrylevel = 0
menu.1 = TMENU
menu.1.expAll = 1

- >这将是P1,P2,P3的正常导航 对于子导航,我去第二根线

menu.2 = TMENU

在子导航(menu.2)中,我需要在资源中定义的图片和特定父页面的标题。 所以P1的子导航的ascii视图:

P1                    P2                    P3
----------------- {Pagetitle (in this case P1)}
|Picture defined| P1a
|in resources   | P2a
|of P1          | P3a
-----------------

我知道prepen函数在子导航中的实际项目之前插入内容。我不知道如何访问特定的父元素。我也尝试过leveltitle:1但这只是当前页面的标题。因此,如果我将在P3上并查看P1的子导航,{}中的部分会说P3而不是P1。

我希望这些例子能说明我想做的事情。我将继续研究如何实现这一目标,但我很乐意为你提供任何帮助:)

1 个答案:

答案 0 :(得分:0)

当然这是可能的,只是稍微调整一下。 我已经设置了一个基本菜单,其中包含2个级别,ul / li以及父页面中包含的图像和标题,但仅当有一个子项通过wrapItemAndSub时

未经测试,因此可能需要调整

lib.menu = HMENU
lib.menu {
  1 = TMENU
  1 {
    wrap = <ul>|</ul>
    expAll = 1
    NO = 1
    NO {
      wrapItemAndSub = <li>|</li>
    }
  }

  2 = TMENU
  2.stdWrap.wrap.stdWrap.cObject = COA
  2.stdWrap.wrap.stdWrap.cObject {
      20 = FILES
      20 {
        references {
          table = pages
          uid.data = field:pid
          fieldName = media
        }
        renderObj = IMAGE
        renderObj {
          file.import.data = file:current:publicUrl
          altText.data = file:current:title
          wrap = <span class="image">|</span>
        }
      }
      30 = RECORDS
      30 {
        source.data = field:pid
        tables = pages
        conf.pages = TEXT
        conf.pages.field = title
        wrap = <span class="parentTitle">|</span>
      }
  }
  2{
      wrap = <ul>|</ul>
      expAll = 1
      NO{
          wrapItemAndSub = <li>|</li>
      }
  }
}

page = PAGE
page.10 < lib.menu