【发布时间】:2014-06-14 18:16:38
【问题描述】:
如何在 CMS 的后端添加一个按钮来触发操作?我可以在我想使用的地方显示按钮:
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldsToTab("Root.ButtonTest", array(
FormAction::create('doAction', 'Action button')
)
);
return $fields;
}
public function doAction()
{
//Do something
}
但是添加的按钮在点击时什么都不做。
我见过一个如何在主操作栏(保存/发布旁边)上放置按钮的示例,但这不是我想要做的。
看着我能找到的唯一page of documentation,我需要在里面做点什么吗:
public function getCMSActions()
{
$actions = parent::getCMSActions();
//Something here?
}
目前还不清楚如何创建按钮调用的动作。
【问题讨论】:
-
您希望按钮“做什么”?是否可以选择呈现一个复选框并在“onBeforeWrite”钩子中对其做出反应?
-
并非如此,该按钮将向第三方服务发送请求,检查响应并将其显示给用户。理想情况下无需重新加载页面。在模糊事件或其他东西上使用一点 js 可能会更容易。
-
文档管理器系统模块可以做到这一点,但我对 SS 的了解还不够多,无法对他们是如何做到的进行逆向工程。
标签: button content-management-system silverstripe