首页 > 解决方案 > 如何在'apos.area'内的html标签中包装撇号小部件?

问题描述

我想用自定义标签包装由 apos.area 生成的小部件以改善 SEO。

<ul>
  {{ apos.area(data.page, 'links', {
    widgets: {
      'internal-link': {},
      'external-link': {}
    }
  }) }}
</ul>

在这个例子中,我用ul标签包裹了 apos.area,但是我传递的小部件在它们的模板中没有li标签。

有没有办法强制每个小部件都包含在自定义 html 标记中?

标签: apostrophe-cms

解决方案


Apostrophe 将围绕这些小部件中的每一个包装标记,这些小部件充其量是您不关心的,而在最坏的情况下会破坏您的语义。

为了完全控制这个标记,我将制作一个更通用的link小部件,其中包括内部和外部链接类型的模式选项。然后在您的页面中,widget.html您可以打印出语义正确的链接列表及其各种属性。

如果您的internal-linkexternal-link小部件已经在您的站点中广泛使用,您可以只制作一个包装小部件,在模式中包含它们的单例。


推荐阅读