sunshineup / dataobjectpreview

允许在 GridField 中预览数据对象

安装: 23

依赖关系: 1

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 4

类型:silverstripe-vendormodule

3.0.1 2023-07-25 01:44 UTC

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"
        ]
    }
}

示例

DataObject Preview Example

用法

您想预览的数据对象必须实现 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 许可协议