我正在尝试创建一个 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
元素成为<li>
生成的实际 HTML 中的一个。不幸的是,这种事情对我来说还不起作用,因为navbar
生成的(封装了徽标和导航项)实际上是一个<div>
. 我不确定如何将给定的 Alchemy 元素更改为 a 以外的类型<div>
(显然,在这种情况下,我希望它是 a <li>
)。
到目前为止,我看到的唯一可能适用于做我想做的事情就是创建一个EssenceHtml
. 但是,我认为这还不够,因为我试图在其中嵌套其他元素/精华(我认为这不适用于精华),而这似乎只是发出静态的原始 HTML。
所以,我想我在问最好的方法是用我想要的标签类型(在本例中为 an <li>
)创建一个 Alchemy 元素,它还将包含其他元素。