如何使 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'
就可以了。
我正在尝试创建一个 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'
就可以了。