如何使 Alchemy CMS 元素生成 HTML 列表

How to make an Alchemy CMS element produce an HTML list

我正在尝试创建一个 Alchemy CMS 元素,它会生成一个 HTML 列表作为结果。有问题的元素是一个导航栏,我想将其结构化为 HTML 中的列表,因为这是我想要使用的 CSS。例如,我想在 config/alchemy/elements.yml:

中指定一个元素
- name: navbar
  unique: false
  nestable_elements: [navitem]
  contents:
  - name: logo # There's also a logo in this navbar
    type: EssencePicture

- name: navitem
  contents:
    - name: navitem_content
      type: EssenceText
      settings:
        linkable: true

然后让这个 navbar 元素成为实际生成的 HTML 中的 <li>。不幸的是,这种事情对我还不起作用,因为生成的 navbar(封装了徽标和导航项)实际上是 <div>。我不太确定如何将给定的 Alchemy 元素更改为 <div> 以外的类型(显然,在这种情况下,我希望它是 <li>)。

到目前为止,我唯一看到的 可能 可以做我想做的事情是创建类型为 EssenceHtml 的 Essence。但是,我认为这还不够,因为我正在尝试将其他元素/精华嵌套在这个元素中(我认为这对精华不起作用)并且这似乎会发出静态的原始 HTML.

所以,我想我是在问什么是创建具有我想要的标记类型(在本例中为 <li>)的 Alchemy 元素的最佳方法,该元素还将包含其他元素。

根据 the documentation element_view_for 助手有一个 tag 选项。

只要通过tag: 'li'就可以了。