sunshineup / dataobjectpreview
允许在 GridField 中预览数据对象
3.0.1
2023-07-25 01:44 UTC
Requires
- silverstripe/recipe-cms: ^4.0 || ^5.0
This package is auto-updated.
Last update: 2024-08-25 04:19:50 UTC
README
提供在 CMS 中预览数据对象的功能。
安装(使用 composer)
$ composer require heyday/silverstripe-dataobjectpreview
文件系统权限
此模块中的 cache/
目录需要可由 PHP 写入,以便数据对象预览功能正常工作。预览将渲染到此处以避免重复渲染相同的内容。
当通过 Composer 安装时,您可能希望在项目的 composer.json
中添加一个 post-install 脚本来配置这些权限。例如
{ // ... "scripts": { "post-install-cmd": [ "chmod 777 silverstripe-dataobjectpreview/cache" ] } }
示例
用法
您想预览的数据对象必须实现 DataObjectPreviewInterface
,它包含一个方法 getPreviewHtml
。
此方法 getPreviewHtml
必须返回一个字符串。
getPreviewHtml
public function getPreviewHtml() { return "<html><body>Hello</body></html>"; }
DataObjectPreviewField
getCMSFields
$fields->addFieldToTab( 'Root.Main', new DataObjectPreviewField( 'SomeDataObject', $this, new DataObjectPreviewer($generator) ) );
GridFieldDataObjectPreview
getCMSFields
$fields->addFieldsToTab( 'Root.Items', new GridField( 'Items', 'Items', $this->Items(), $config = GridFieldConfig_RelationEditor::create() ) ); $config->addComponent( new GridFieldDataObjectPreview( new DataObjectPreviewer($generator) ) );
许可协议
SilverStripe 数据对象预览采用 MIT 许可协议