我创建了一个自定义组件,用于实现自定义电子商务功能。管理员可以查看和管理来自后端的所有订单。什么是想要的是每当管理员删除/取消任何订单邮件发送到客户电子邮件ID。 我想知道如何覆盖或添加我的代码以邮寄到deletelist方法,以便在管理员仅删除订单记录时发送邮件。
答案 0 :(得分:2)
正如文档所说,JToolbarHelper::deleteList
/**
* JToolbarHelper/deleteList
* Writes a common 'delete' button for a list of records.
*
* @param string $msg Postscript for the 'are you sure' message.
* @param string $task An override for the task.
* @param string $alt An override for the alt text.
*
* @return void
*
* @since 1.5
*/
因此,您有以下几种选择:
通过覆盖remove
方法覆盖控制器的remove
任务:
class MycomponentControllerMycontroller extends JControllerAdmin{
public function remove() {
//stuff goes here
}
}
在续订
中注册remove
任务
class MycomponentControllerMycontroller extends JControllerAdmin{
public function __construct($config = array())
{
parent::__construct($config);
//...
$this->registerTask('remove', 'myMethod');
}
public function myMethod() {
//stuff goes here
}
}
提供$task
参数以覆盖remove
任务。
创建工具栏按钮:
JToolbarHelper::deleteList('', 'mycontroller.myMethod', 'JTOOLBAR_EMPTY_TRASH');
和控制器:
class MycomponentControllerMycontroller extends JControllerAdmin{
public function myMethod() {
//stuff goes here
}
}
此示例中的控制器应位于administrator/components/mycomponent/controllers/mycontroller
。