代码之家  ›  专栏  ›  技术社区  ›  chadct

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

  •  2
  • chadct  · 技术社区  · 10 年前

    我正在构建一个生命射线主题,它有两个并排的列。右栏是显示web内容的位置。

    我的实现旨在构建一个菜单(左列),从web内容标题中获取标题,并基于我添加到每个web内容的“选择”结构字段构建层次结构(父级、子级)。 enter image description here

    到目前为止,我能够使用

    Liferay.Service('/journalarticle/get-articles'...)
    

    还有一些 javascript语言 编码。

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

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

    1 回复  |  直到 10 年前
        1
  •  2
  •   Ashish Dadhich    10 年前

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

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

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