Liferay:动态填充 'select' 结构字段

Liferay: Dynamically populate 'select' structure field

我正在构建一个 liferay 主题,它有两个并排的列。右栏是显示网页内容的地方。

我的实现旨在构建一个菜单(左列),该菜单从 Web 内容标题中获取标题并基于 'select' 结构构建层次结构(parent、child)我添加到每个 Web 内容的字段。

到目前为止,我能够使用

构建这个系统
Liferay.Service('/journalarticle/get-articles'...)

和一些javascript编码。

现在我在结构中使用的 'select' 字段具有预定义的硬编码选项。

我如何动态填充此选项列表,以便管理内容的人自动获得所有可用 Web 内容中的所有标题以从中选择 'parent'?
到目前为止,每次添加新的 Web 内容时,开发人员都必须更新此选项列表。

@chadct:AFAIK Liferay 不提供此默认功能,这不是在结构字段中动态填充值的好习惯。但是你想实现那个功能,那么有4个解决方案:

  1. 在结构中添加一个文本字段,其中包含您父网站内容的 articleId
  2. 您可以为该 Web 内容添加相关文章并编写某种代码来获取被视为该 Web 内容的父项的文章。
  3. 创建 Select DOM 选项表单模板,根据 groupId 保存文章列表并在 Web 内容视图模式下呈现,然后您可以从那里 select 父内容并更新content expando 与父 webcontent 的 articleId。请记住,这包含 AJAX post 请求。并且只显示控制谁是管理员或登录用户或取决于角色。参考 AJAX post calling
  4. 挂钩 edit_structure.jsp 并根据需要在此处添加您的逻辑。

注意:最后一个是最差的,但也是一个解决方案,请记住您需要修改当前的解决方案。