webbuilders-group / silverstripe-add-to-campaigns
为CMS管理员提供轻松将任何版本化对象添加到活动的功能
1.1.0
2023-07-28 16:28 UTC
Requires
- silverstripe/campaign-admin: ~1.2|~2.0
This package is auto-updated.
Last update: 2024-09-17 12:27:41 UTC
README
通过CMS中的“添加到活动”按钮,轻松将任何版本化对象添加到活动中,就像页面一样,为CMS管理员提供此功能。
维护者联系方式
- Ed Chipman (UndefinedOffset)
要求
- SilverStripe Campaign Admin 1.2+ | 2.0+
安装
composer require webbuilders-group/silverstripe-add-to-campaigns
使用方法
默认情况下,所有SilverStripe\Forms\GridField\GridFieldDetailForm_ItemRequest
实例都将获得一个扩展,该扩展将自动为所有允许的类配置“添加到活动”功能的GridFieldDetailForm_ItemRequest
编辑表单。要在config.yml
中添加类以支持允许的类,您必须添加以下内容。必须将DataObject
包含SilverStripe\Versioned\Versioned
扩展。
WebbuildersGroup\AddToCampaigns\Control\Admin\AddToCampaignController: campaignable_classes: - 'Full\DataObject\ClassName\Including\Namespace'
如果您没有修改您的GridFieldDetailForm_ItemRequest
操作从默认的GridFieldDetailForm_ItemRequest::getFormActions()
,“添加到活动”按钮应自动添加到所有允许的类中。如果您已修改,您可以在设置您的DataObject
在GridFieldDetailForm_ItemRequest
扩展中的表单操作时添加以下内容。
use SilverStripe\CampaignAdmin\AddToCampaignHandler_FormAction; /** ... **/ if (($myDataObject->isPublished() || $myDataObject->isOnDraft()) && $myDataObject->canPublish()) { $moreOptions->push( AddToCampaignHandler_FormAction::create() ->removeExtraClass('btn-primary') ->addExtraClass('btn-secondary') ); }