gorriecoe / silverstripe-preview
为Dataobject添加预览选项。
dev-master
2018-06-19 21:34 UTC
Requires
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代码以获取高级用法示例。您将看到您可以从另一个数据对象中预置额外的回退选项。