我的公司正在使用 Wagtail 为我们的网站构建强大的页面,可能使用 StreamField 组件。我们想知道 Wagtail 是否允许我们创建可重用的部分(可能在片段中),并将它们注入到页面中。
我包括一个我想做的简单图表。请注意,虽然片段是一种可能的建议,但它不需要特定的解决方案。
目标当然是创建一个可以嵌入到另一个页面中的元素,但可以在一个地方更新并在任何使用它的地方级联。
例如,Wordpress 有一个以短代码格式提供此功能的插件:
[embed id=123456]
我的公司正在使用 Wagtail 为我们的网站构建强大的页面,可能使用 StreamField 组件。我们想知道 Wagtail 是否允许我们创建可重用的部分(可能在片段中),并将它们注入到页面中。
我包括一个我想做的简单图表。请注意,虽然片段是一种可能的建议,但它不需要特定的解决方案。
目标当然是创建一个可以嵌入到另一个页面中的元素,但可以在一个地方更新并在任何使用它的地方级联。
例如,Wordpress 有一个以短代码格式提供此功能的插件:
[embed id=123456]
您可以为流字段创建新块,假设MySnippetBlock
然后使用SnippetChooserBlock选择您想要的片段。
MySnippetBlock(StructBlock):
title = CharBlock()
snippet = SnippetChooserBlock()
然后在您的 StreamBlock 字段中,您可以使用上面的自定义块:
MyPage(Page):
stream_field_content = StreamField([('snippet_block', MySnippetBlock())])
...
或者,如果不需要附加附加信息,您可以直接在 StreamField 中使用 SnippetChooserBlock。
stream_field_content = StreamField([('snippet_block', SnippetChooserBlock())])