bramdeleeuw/silverstripe-pageslices

Silverstripe 的页面切片实现

安装次数: 798

依赖项: 3

建议者: 0

安全性: 0

星标: 4

关注者: 2

分支: 2

开放性问题: 0

类型:silverstripe-vendormodule

2.0.19 2019-07-03 13:53 UTC

README

此模块提供了一个基本的 PageSlice 类,新切片可以在此基础上扩展。默认包含 PageContentSlice,此切片持有父页面的内容。

安装

要将页面切片添加到您的页面,只需将 PageSlicesExtension 包含到您的页面中。

设置默认切片

默认切片是在配置中由开发者设置的切片,在创建页面或对象后写入时安装。此模块附带一些配置设置,可以设置默认切片。例如

Page:
  extensions:
    - Broarm\Silverstripe\PageSlices\PageSlicesExtension
  default_slices:
    - PageContentSlice
Broarm\Silverstripe\PageSlices\PageSlice:
  default_slices_exceptions:
    - Blog

以上配置中,除了 Blog 页面外,所有页面都会默认获得 PageContentSlice

配置栈,如果您想默认为博客文章添加横幅切片,则可以在配置中添加以下内容

BlogPost:
  default_slices:
    - BannerSlice
    # By adding the content slice you can control the sort order
    # Otherwise stacked slices will be appended to the list
    - PageContentSlice

页面内容切片模板层次结构

页面内容切片查找模板的方式与页面类类似。例如,添加到 BlogPostPageContentSlice 会优先使用 BlogPostContentSlice.ss 模板,而不是 PageContentSlice.ss。它会遍历类层次结构,直到找到可用的模板。

注意

模块命名空间,除了 PageContentSlice 之外,这是因为 GridFieldAddNewMultiClass 还不支持命名空间类。对于您自己的 PageSlices,请注意不要命名空间它们(目前还不支持)。

###维护者

Bram de Leeuw