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的解决方案。。。