标题为 parent 和自定义图像的子导航 - TypoScript
Subnavigation with title of parent and custom image - TypoScript
大家好
我是打字新手,正在尝试创建一个带有 parent 标题和页面中定义的图像的子导航。问题是,我还没有找到允许我选择特定标题或特定图像的可能性。这就是我的想法(我没有故意做任何包装来缩短示例):
页面结构:
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) 中,我需要我在资源中定义的图片和特定 parent 页面的标题。
所以 P1 的子导航的 ascii 视图:
P1 P2 P3
----------------- {Pagetitle (in this case P1)}
|Picture defined| P1a
|in resources | P2a
|of P1 | P3a
-----------------
我知道在子导航中的实际项目之前插入内容的前置函数。我不知道的是如何访问特定的 parent 元素。我也试过 leveltitle:1 但这只是当前页面的标题。因此,如果我在 P3 上查看 P1 的子导航,{} 中的部分会说 P3 而不是 P1。
我希望示例已经展示了我想要做的事情。我会继续研究如何实现这一目标,但我真的很乐意提供任何帮助:)
当然可以,只是稍微调整一下。
我已经设置了一个包含 2 个级别的基本菜单,ul/li 以及 parent 页面中包含的图像和标题,但前提是通过 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
大家好
我是打字新手,正在尝试创建一个带有 parent 标题和页面中定义的图像的子导航。问题是,我还没有找到允许我选择特定标题或特定图像的可能性。这就是我的想法(我没有故意做任何包装来缩短示例):
页面结构:
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) 中,我需要我在资源中定义的图片和特定 parent 页面的标题。 所以 P1 的子导航的 ascii 视图:
P1 P2 P3
----------------- {Pagetitle (in this case P1)}
|Picture defined| P1a
|in resources | P2a
|of P1 | P3a
-----------------
我知道在子导航中的实际项目之前插入内容的前置函数。我不知道的是如何访问特定的 parent 元素。我也试过 leveltitle:1 但这只是当前页面的标题。因此,如果我在 P3 上查看 P1 的子导航,{} 中的部分会说 P3 而不是 P1。
我希望示例已经展示了我想要做的事情。我会继续研究如何实现这一目标,但我真的很乐意提供任何帮助:)
当然可以,只是稍微调整一下。 我已经设置了一个包含 2 个级别的基本菜单,ul/li 以及 parent 页面中包含的图像和标题,但前提是通过 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