0

我想创建一个可以包含项目列表的元素,其中每个项目可以有多个本质。

例如:用户应该能够添加“页面列表”作为内容元素。对于每个页面项目,他应该能够上传一个小图片、一个简短的描述和一个链接。因为列表需要用UL标签包裹,所以我不能简单地要求他添加很多元素。

其他示例:用户应该能够添加“团队列表”作为内容元素。每个成员都有照片、姓名、职位描述和电子邮件地址。同样的问题:我希望将团队成员包裹在DL标签中。

有没有办法释放可以包含元素的元素?

有点像:(只是一个例子,可能包含错误)

- name: my_list_element
  contents:
  - name: list_style
    type: EssenceSelect
  - name: items
    type: Element ???
    elements: [my_item_element]
    settings:
      deletable: true
  available_contents:
  - name: items
    type: Element ???
    elements: [my_item_element]
    settings:
      deletable: true

- name: my_item_element
  contents:
  - name: image
    type: EssencePicture
  - name: headline
    type: EssenceText
    ...

内项使用图片或文字精华的默认编辑器。

如果有人知道如何实现这一点,那将是非常棒的,因为它是使用炼金术 CMS 所缺少的最后一个拼图部分 :(

先感谢您

4

3 回答 3

1

您想使用在当前主版本中可以找到的新的可嵌套元素功能,并且即将发布 3.3 版本。不幸的是,它们还没有得到很好的记录。对不起。

但这真的很简单。而不是available_contents(无论如何都将不推荐使用嵌套元素,而是列出 的名称nestable_elements)。

可嵌套元素可以是您定义的任何元素。

除非指南得到更新,否则请阅读代码中的文档。

于 2016-03-20T14:28:34.653 回答
0

希望尽快看到nestable_elements功能,可能会解决一些非常明显的任务。目前,由于无法使用自定义模型(Post、TeamMember、Testimonial、PortfolioItem 等)轻松扩展 Alchemy,我仍然是 RefineryCMS 或纯 RoR 的粉丝,这很可悲,因为 AlchemyCMS 内置了非常好的东西。据我了解,此功能将在 Alchemy 4 中由 Nodes 实现,甚至页面模型也将注册为 Alchemy::Node,开发人员将能够创建自己的节点,其行为类似于 WordPress 中的 custom_post_type。

于 2016-03-21T05:24:16.973 回答
0

您可以使用http://ruby-doc.org/stdlib-2.1.0/libdoc/yaml/rdoc/YAML.html并在输出中获取 Hash 并将其保存为文本

于 2016-03-20T14:14:56.700 回答