我已经为Joomla 3开发了一个组件,我知道我可以使用/administrator/components/com_edm/models/edm.php类
中的prepareTable函数在保存时执行表格的操作。然而,现在我需要操作数据库,当用户删除我的组件在后端记录。
本质上,我问是否有一个类似prepareTable的函数,但用于删除
Thanks in advance
OK…经过一番研究,我找到了一种达到我想要的目的的方法。
改变管理员/组件/com_edm/视图/通讯/view.html.php文件来注册新的按钮函数,如下所示JToolBarHelper:垃圾("时事通讯。Mytrash"、"JTOOLBAR_TRASH");
,然后为组件列表扩展控制器
管理员/组件/com_edm/控制器/newsletterss.php您可以设置自己的函数,如
Mytrash(){
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// Get items to remove from the request.
$cid = JRequest::getVar('cid', array(), '', 'array');
if (!is_array($cid) || count($cid) < 1)
{
JError::raiseWarning(500, JText::_($this->text_prefix . '_NO_ITEM_SELECTED'));
}
else
{
// Get the model.
$model = $this->getModel();
// Make sure the item ids are integers
jimport('joomla.utilities.arrayhelper');
JArrayHelper::toInteger($cid);
// Remove the items.
if ($model->delete($cid))
{
$this->setMessage(JText::plural($this->text_prefix . '_N_ITEMS_DELETED', count($cid)));
}
else
{
$this->setMessage($model->getError());
}
}
$this->setRedirect(JRoute::_('index.php?option=' . $this->option . '&view=' . $this->view_list, false));
}