我正在处理以下菜单:
lib.content = HMENU
lib.content {
special = directory
special.value.data = page:id
wrap = <div id="productNavigator">|</div>
expAll = 1
1 = TMENU
1 {
noBlur = 1
expAll = 1
NO {
stdWrap.cObject = COA
stdWrap.cObject {
10 = IMAGE
10 {
file {
import.cObject = USER
import.cObject {
userFunc = tx_dam_pages->get_media_file
uid = ???
listNum = 0
slide = 1
}
}
}
30 = TEXT
30.field = title
30.wrap = <span class="text"><span>|</span></span>
}
}
我们的想法是将分配给页面的DAM图像拉入菜单。但我不知道如何将menu元素的id传递给用户函数。
如果我添加一个常量值,它的效果很好,每个菜单项都会获得相同的图像。但我希望每个菜单项都有链接到的页面的图像。
答案 0 :(得分:1)
您可以通过uid.field = uid
获取该页面的内容。在渲染过程中,你总是加载页面,然后渲染。
但我不希望slide = 1
有效。是吗?
10 = IMAGE
10 {
file {
import.cObject = USER
import.cObject {
userFunc = tx_dam_pages->get_media_file
uid.field = uid
listNum = 0
slide = 1
}
}
}
如果这不起作用,请检查uid的静态值是否有效。
顺便说一下。以前不知道tx_dam_pages->get_media_file
。 DAM附带了吗?
答案 1 :(得分:1)
FrançoisSuter还在TYPO3-english邮件列表中提供了此解决方案:
NO.before.cObject = IMAGE
NO.before.cObject.file.import.cObject = USER
NO.before.cObject.file.import.cObject {
userFunc = tx_dam_tsfe->fetchFileList
refTable = pages
refField = tx_dampages_files
}
这在我的案例中完美无缺。