xddesigners/page-content-block

为SilverStripe elemental编辑器添加页面内容块

安装: 491

依赖: 1

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

1.0.5 2022-12-16 12:00 UTC

This package is auto-updated.

Last update: 2024-09-12 18:06:58 UTC


README

为elemental编辑器添加页面内容块。

这是什么

页面内容块用于在elemental区域显示页面模型中的内容。这在例如博客文章、用户表单或任何模块添加的页面类型中非常有用。

为谁存在

例如,编辑博客文章的用户希望有一个更轻量级的编辑体验,但保持块编辑器的灵活性。此模块通过重新插入内容字段并将Elemental区域移至布局选项卡来实现这一点。

它做什么

它简单地以Element的形式渲染当前页面控制器。因此,您可以访问页面 $Content$Title 或该元素上的任何其他方法。《PageContentBlock》在页面创建时创建,因此元素始终存在。用户可以简单地开始在内容字段中键入,并在 PageContentBlock 周围添加任何块,保持灵活性。

模板化

该块搜索与当前页面类型最接近的块模板。它查找其自身类继承关系,并将“ContentBlock”添加到类名称的末尾。例如,对于 BlogPost,它将搜索 BlogPostContentBlock.ss,如果找不到,则将遍历继承关系,直到回退到 PageContentBlock.ss。它将在一个与此模块命名空间化的文件夹中搜索。模板文件夹路径是 templates/XD/PageContentBlock/Models/YourClassContentBlock.ss

配置

PageContentBlock 的创建是可配置的,此模块在当前页面类型中查找配置设置 default_blocks。您还可以使用该设置在 BlogPosts 上创建默认横幅块。

Page:
  default_blocks:
    - XD\PageContentBlock\Models\PageContentBlock

BlogPost:
  default_blocks:
    - MyFeaturedImageBlockClass
    - XD\PageContentBlock\Models\PageContentBlock

如果您不想重新插入内容字段,可以将 keep_content_field 设置为 false

XD\PageContentBlock\Extensions\ElementalPageExtension:
  keep_content_field: false

如果您想禁用在特定类(例如主页)上重新插入内容字段,可以设置。

HomePage:
  hide_content_field: true