toastnz/blocks-layouts

银Stripe内容块模块

安装次数: 3,506

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 4

分支: 0

开放问题: 0

类型:silverstripe-vendormodule


README

简单的内容块系统。没有复杂的功能,易于实现。

要求

参见composer.json

安装

将以下内容添加到您的 config.yml 文件中(可选)

PageController:
  extensions:
    - Toast\Blocks\Extensions\PageControllerExtension

使用 Page 或扩展了 SiteTree 的其他类。

在您的 Layout/Page.ss 模板中添加以下内容

<% loop $ContentBlocks %>
    $ForTemplate
<% end_loop %>

配置

添加/删除可用的块类

Toast\Blocks\Extensions\PageExtension
  available_blocks:
    - Toast\Blocks\TextBlock

添加/删除可用的替代块布局

"layout_src": 包含不同布局文件夹(.ss 模板)的目录 "layout_icon_src": 包含所有布局图的目录 "layout_dist_dir": 指定块布局的 CSS

CSS 文件仅在以下语法下包含:'theme/themename/dist/styles/$LayoutName-$BlockType.css"

Toast\Blocks\Extensions\PageExtension:
  layout_src: 'app/templates/Toast/Blocks'
  layout_icon_src: 'app/client/images/layout-icons'
  layout_dist_dir: 'theme/themename/dist/styles'
  

确保在指定的每个目录中至少有一个 CustomBlock.ss 和 'customblock.svg' 图标。布局将适用于所有子站点。

.ss 模板命名

您可能有多个布局,请确保在 src 目录下的新布局文件夹中创建了 block.ss。
例如:'app/templates/Toast/Blocks/CustomLayoutNameOne/ImageBlock.ss' 或 'app/templates/Toast/Blocks/CustomLayoutNameTwo/ImageBlock.ss'

布局图标命名

请确保布局图标名称与块名称相同,均为小写,例如:customblock.svg。
例如:'app/client/images/layout-icons/customlayoutone/customblock.svg' 或 'app/templates/Toast/Blocks/customlayouttwo/customblock.svg'

图标扩展名

允许的扩展名:'jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg'

创建自定义块

通过扩展 Block 创建新的块类型。

<?php
 

class MyBlock extends Toast\Blocks\Block
{
    private static $singular_name = 'My Block';
    private static $plural_name = 'My Blocks';
    private static $icon = 'mysite/images/blocks/custom.png';
    
    private static $db = [
        'Content' => 'HTMLText'
    ];

}

/themes/default/templates/Toast/Blocks/MyBlock.ss:

<%-- Your block template here --%>

<h2>$Title</h2>
$Content

待办事项