Как заставить кнопку Joomla 3x Custom Toolbar работать - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь добавить пару настраиваемых кнопок панели инструментов в свой компонент, и в данный момент кнопки отображаются нормально, но не могут заставить их работать.

Моя главная проблема - как передатьПеременная id из макета представления в субконтроллер для выполнения задачи в случае обновления одного столбца в базе данных.

Это моя структура кода

ПРОСМОТР (view.html.php)

class LoanmanagerViewLoan extends JViewLegacy
{

protected $loanDetail;
public function display($tpl = null){       

    //Data from loanlist Model
    $model=$this->getModel('Loan');
    $this->loanDetail = $model->get_loan_detail();

    $this->addToolbar();
    parent::display($tpl);
}

protected function addToolbar()
{

    // Get the toolbar object instance
    $bar = JToolbar::getInstance('toolbar');

    JToolBarHelper::Title(JText::_('Loan Details'));    

    //TRYING TO MAKE THIS BUTTON WORK
    JToolBarHelper::custom('loan.approve', 'approve.png', 'icon-save.png', 'Approve Loan', false, false);

    JToolBarHelper::custom('loan.deny', 'deny.png', 'deny.png', 'Deny Loan', false, false);
}
}

ПРОСМОТР ПЛАНА (tmpl / default.php)

JHtml::_('behavior.formvalidator');  

 <form action="<?php echo JRoute::_('index.php?option=com_loanmanager&view=loan&type=softloan&id='. (int) $loan->id); ?>" method="post" name="adminForm" id="loan-form" enctype="multipart/form-data">



<input type="hidden" name="option" value="com_loanmanager" />
<input type="hidden" name="task" value="" />

<?php echo JHtml::_('form.token'); ?>
</form>

SUBCONTROLLER (controllers / loan.php)

class LoanmanagerControllerLoan extends JControllerLegacy
 {



public function approve()
{
    $jinput = JFactory::getApplication()->input;        
    $id = $input->post->get('id', 0, 'INT');            

    //Perform some SQL query with the $id
    return parent::display();
}   



 }

1 Ответ

0 голосов
/ 29 мая 2018

вам нужно записать ввод с идентификатором в самой форме.

<input type="hidden" name="id" value="<?= (int) $loan->id ?>" />

альтернативно, не получать идентификатор из поста, так как вы добавили его в действие, получите URL формы

$id = $input->getInt('id');
...