【问题标题】:Injecting snippets into a Wagtail StreamField interface将片段注入 Wagtail StreamField 接口
【发布时间】:2019-07-06 10:20:47
【问题描述】:

我的公司正在使用 Wagtail 为我们的网站构建强大的页面,可能使用了 StreamField 组件。我们想知道 Wagtail 是否允许我们创建可重用的部分(可能在 sn-p 中),并将它们注入到页面中。

我附上了一张我想做的简单图表。请注意,虽然 sn-ps 是一种可能的建议,但它不需要特定的解决方案。

我们的目标当然是创建一个可以嵌入到另一个页面中的元素,但可以在一个地方进行更新,并在任何使用它的地方级联。

例如,Wordpress 有一个以短代码格式提供此功能的插件:

[embed id=123456]

【问题讨论】:

    标签: wagtail wagtail-streamfield wagtail-snippet


    【解决方案1】:

    您可以为流字段创建新块,比如说MySnippetBlock,然后使用SnippetChooserBlock 选择您想要的sn-p。

    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())])
    

    【讨论】:

      猜你喜欢
      • 2016-08-31
      • 2016-10-29
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多