bluehousegroup/silverstripe-data-object-version-viewer

该软件包已被废弃,不再维护。没有建议的替代软件包。

允许查看SilverStripe CMS中数据对象的版本历史

0.1 2017-03-10 17:51 UTC

This package is auto-updated.

Last update: 2021-12-17 08:08:10 UTC


README

Screenshot

使用Composer安装

composer require bluehousegroup/silverstripe-data-object-version-viewer

用法

  • 扩展silverstripe-versioneddataobjects以向GridField或ModelAdmin添加“历史”按钮
  • 查看、回滚并发布数据对象的先前版本

示例代码

实现方式与所依赖的versioneddataobjects模块非常相似。

在您的DataObject类中

class Slice extends DataObject
{
	private static $db = [
		'Content' => 'Text'
	];

	private static $has_one = [
		'Parent' => 'SiteTree'
	];

	private static $extensions = [
		'Heyday\VersionedDataObjects\VersionedDataObject'
	];
}

要在GridField中使用VersionedDataObject记录,需要将GridFieldDetailForm替换为VersionedRevertDODetailsForm

// ...

public function getCMSFields()
{
	$fields = parent::getCMSFields();

	$fields->addFieldToTab(
		'Root.Slices',
		new GridField(
			'Slices',
			'Slices',
			$this->Slices(),
			$config = GridFieldConfig_RelationEditor::create()
		)
	);

	$config->removeComponentsByType('GridFieldDetailForm');
	$config->addComponent(new VersionedRevertDODetailsForm());

	return $fields;
}

// ...

ModelAdmin中的版本化数据对象

class SliceAdmin extends VersionedRevertModelAdmin
{
	private static $menu_title = 'Slices';

	private static $url_segment = 'slice';

	private static $managed_models = [
		'Slice'
	];
}

注意

此模块旨在与betterbuttons模块兼容。为此,它移除了betterbuttons的版本按钮组,以保持versiondataobjects插件添加的按钮。此更改仅影响配置了VersionedRevertDODetailsForm扩展的表单。