gorriecoe/silverstripe-preview

为Dataobject添加预览选项。

安装: 205

依赖: 1

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

dev-master 2018-06-19 21:34 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:45 UTC


README

为Dataobject或SiteTree添加预览选项。基本上提供了更高级的摘要内容选项。

安装

Composer是推荐安装SilverStripe模块的方式。

composer require gorriecoe/silverstripe-preview

要求

  • silverstripe/cms ^4.0

建议

维护者

用法

为DataObject添加预览

MyDataObject:
  extensions:
    - gorriecoe\Preview\Extensions\Previewable

注意,Previewable会自动扩展SiteTree

默认预览字段

将默认字段添加到DataObject或SiteTree

SilverStripe\CMS\Model\SiteTree:
  extensions:
    - gorriecoe\Preview\Extensions\PreviewDefaultFields

这将添加图像、标题、内容和标签字段到摘要标签页。

定义自己的预览数据

默认情况下,预览数据会从DataObject继承。例如,$MyDataObject.Preview.Image将使用$MyDataObject.Image。但是,如果您想为预览图像设置回退选项,您可以在您的DataObject中使用以下静态变量定义。

class MyDataObject extends DataObject
{
    private static $has_one = [
        'PreviewImage' => Image::class,
        'HeaderImage' => Image::class
    ];

    private static $preview_data = [
        'Image' => [
            'PreviewImage',
            'HeaderImage'
        ]
    ];
}

在上面的例子中,$MyDataObject.Preview.Image将首先返回PreviewImage中的图像,如果不存在,则返回HeaderImage,如果该字段也不存在,则返回null。

模板

通过模板访问预览数据,只需更改数据的范围,使用以下方法之一。

<% loop MyDataObjects %>
    <h2>
        {$Preview.Title}
    </h2>
<% end_loop %>
<% loop MyDataObjects %>
    <% with Preview %>
        <h2>
            {$Title}
        </h2>
    <% end_with %>
<% end_loop %>

高级用法

查看silverstripe/silverstripe-action代码以获取高级用法示例。您将看到您可以从另一个数据对象中预置额外的回退选项。