Typo3 如何将当前菜单元素的页面id传递给用户函数?
我正在处理以下菜单:Typo3 如何将当前菜单元素的页面id传递给用户函数?,typo3,typoscript,Typo3,Typoscript,我正在处理以下菜单: 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
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>
}
}
lib.content=HMENU
lib.content{
特殊=目录
special.value.data=页面:id
包裹=|
expAll=1
1=t菜单
1 {
noBlur=1
expAll=1
没有{
stdWrap.cObject=COA
stdWrap.cObject{
10=图像
10 {
文件{
import.cObject=USER
import.cObject{
userFunc=tx\u dam\u pages->get\u media\u文件
uid=???
listNum=0
幻灯片=1
}
}
}
30=文本
30.字段=标题
30.1.1|
}
}
其想法是将分配给页面的DAM图像拉入菜单,但我不知道如何将菜单元素的id传递给用户函数
如果我添加一个常量值,效果很好,每个菜单项都会得到相同的图像。但是我希望每个菜单项都有它链接到的页面的图像。您可以通过
uid.field=uid
获得页面的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随附了吗?François Suter也在邮件列表中提供了此解决方案:
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
}
这在我的情况下非常有效。它来自
dam_pages
ext:@MarcusbiesiorBiesioroff:没错,这就是我复制它的地方。这个解决方案似乎非常有效。好吧,实际上它对我根本不起作用,我只是忘了在文件中进一步注释François的解决方案。。。