Liferay:动态填充“选择”结构字段

时间:2015-12-21 16:29:37

标签: liferay liferay-6 liferay-theme liferay-velocity

我正在构建一个liferay主题,它有两列并排。右列是显示Web内容的位置。

我的实现旨在构建一个菜单(左栏),该菜单从Web内容标题中获取标题,并根据我添加到每个Web内容的“选择”结构字段构建层次结构(父级,子级)。{{3 }}

到目前为止,我能够使用

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

和一些 javascript 编码。

现在,我在我的结构中使用的“选择”字段具有预定义的硬编码选项。enter image description here

如何动态填充此选项列表,以便管理内容的任何人都将自动拥有所有可用的网页内容的所有标题,从中选择“父”?到目前为止,开发人员每次添加新的Web内容时都必须更新此选项列表。

1 个答案:

答案 0 :(得分:2)

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

  1. 在结构中添加一个文本字段,其中包含您父网页内容的 articleId
  2. 您可以为该网络内容添加相关文章,并编写某种代码以获取被视为该网络内容的父级的文章。
  3. 创建选择DOM选项表单模板,该表单模板根据groupId保存文章列表并在Web内容视图模式下呈现,然后您可以从那里选择父内容并使用父webcontent的articleId更新内容expando。请记住这包含AJAX发布请求。并且只显示控制谁是管理员或登录用户或依赖于角色。请参阅AJAX post calling
  4. 挂钩 edit_structure.jsp ,然后根据需要添加您的逻辑。
  5. 注意:最后一个是最差的,但也是一个解决方案,请记住,您需要修改当前的解决方案。