如何在 HMenu 中使用从数据库中检索到的页面 ID?

How to use Page Ids retrieved from Database in the HMenu?

我目前正在处理我的第一个拼写错误项目,需要创建一个包含一组单独页面的大型菜单。

多次尝试失败或不适合我。我当前的镜头旨在将重定向类型的页面分组到隐藏页面中。在 Typoscript 中,我想设置包含这些重定向的父页面的 ID,并相应地读取子页面的快捷方式 ID。

pageIds = CONTENT
pageIds {
  table = pages
  select {
    selectFields = shortcut
    pidInList = 614 # Id of the container Page
  }
}

下一步是在我的 HMENU 中使用检索到的 'list' 类型的快捷方式 ID。

1 = HMENU
1 {
  special = list
  special {
    value = # Assign retrieved IDs here
  }
  [...]
}

乍一看打字很混乱,所以我很高兴收到一些提示,告诉我如何将查询的结果(以逗号分隔的列表)传输到 HMENU。

提前致谢! 你好。

首先,您需要获取您想要 link 的页面 UID 的 comma-separated 列表。这可以通过 renderObj 来实现:

lib.pageIds = CONTENT
lib.pageIds {
  table = pages
  select {
    selectFields = shortcut
    pidInList = 614 # Id of the container Page
  }
  renderObj = TEXT
  renderObj.stdWrap.field = shortcut
  renderObj.stdWrap.wrap = |,
}

这应该会为您提供一个包含所有记录的 comma-separated 列表。现在您必须将这些应用到 HMENU。正如您在文档中看到的那样,value 属性 启用了 stdWrap,这意味着您可以在使用 cObject:

时复制一个值
1 = HMENU
1 {
  special = list
  special {
    value.cObject < lib.pageIds
  }
  [...]
}

我没有测试这个,所以可能配置不完全。