× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Extending backend trash button component toolbar

9 yıl 5 ay önce #844 Yazan: Daniel
Extending backend trash button component toolbar, Daniel tarafından oluşturuldu
Hey guys, going nuts with this and its not the easiest thing to google for some reason.

What i am after is
- in the backend
- in the list view of my component
- i am able to perform operations prior to save using the prepareTable from the model

- however now i want to be able to perform  changes to the database when the trash button is clicked in the backend.

Some guidance will be very much appreciated as i am ready to blow up at my computer and Joomla....it shouldnt be this hard
Ek Dosyalar:

Lütfen sohbete katılmak için Giriş ya da Hesap açın.

9 yıl 5 ay önce #846 Yazan: Daniel
Daniel tarafından Extending backend trash button component toolbar konusunda yanıtlandı
OK...after much research i have found a way to achieve what i want.
alter the 
administrator/components/com_edm/views/newsletterss/view.html.php
file to register your new button function like so
JToolBarHelper::trash('newsletterss.Mytrash', 'JTOOLBAR_TRASH');
and then extend the controller for the component list
administrator/components/com_edm/controllers/newsletterss.php
where you can set your own function like so
public function 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));
}

Lütfen sohbete katılmak için Giriş ya da Hesap açın.

Sayfa oluşturma süresi: 0.053 saniye
Geliştiren: Kunena Forum