有没有办法使用Unclecheese BetterButtons向Member对象添加自定义按钮?我正在使用DataExtension扩展Member对象,我想创建一个BetterButtons自定义操作。
这是我的代码和我收到的错误
private static $better_buttons_actions = array(
'createAccountPdf'
);
public function getBetterButtonsActions(){
$fields = parent::getBetterButtonsActions();
if( $this->owner->Accounts()->Count() > 0 ){
$fields->push(BetterButtonCustomAction::create('createAccountPdf', 'Datenblatt erstellen')->setSuccessMessage('PDF Datenblatt mit Zugangsdaten wurde erstellt.'));
}
return $fields;
}
错误:
Fatal error: Call to undefined method DataObject::getBetterButtonsActions() in /_website/_dev/mysite/code/Extensions/ClientMemberExtension.php on line 128
而不是parent :: getBetterButtonsActions()我还尝试使用$ this-> owner,Member ::,DataObject ::
答案 0 :(得分:2)
这听起来合乎逻辑,因为您的扩展程序的父级没有名为“getBetterButtonActions”的方法。
从BetterButtonDataObject中的代码我看到已经有一个钩子来更新DataExtension中的ButtonActions。
尝试:
public function updateBetterButtonsActions(&$actions) {
if( $this->owner->Accounts()->Count() > 0 ){
$actions->push(BetterButtonCustomAction::create('createAccountPdf', 'Datenblatt erstellen')->setSuccessMessage('PDF Datenblatt mit Zugangsdaten wurde erstellt.'));
}
}