я разработал компонент для Joomla 3, и я знаю, что могу выполнять операции табличной формы при сохранении с помощью функции prepareTable в классе /administrator/components/com_edm/models/edm.php
однако теперь мне нужно манипулировать БД, когда пользователи удаляют запись моего компонента в бэкэнде.
по сути, я спрашиваю, есть ли такая функция, как prepareTable, но для удаления
заранее спасибо
Хорошо … после долгих исследований я нашел способ достичь того, чего я хочу.
изменить
администратор / компоненты / com_edm / просмотров / newsletterss / view.html.php
файл для регистрации вашей новой функции кнопки, так
JToolBarHelper :: trash (‘newsletterss.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));
}
Других решений пока нет …