Я создал пользовательский компонент с формой для обновления цен на четыре продукта, которые будут отображаться во внешнем интерфейсе.
Мой основной код контроллера здесь:
public function display($cachable = false, $urlparams = false) {
require_once JPATH_COMPONENT.'/helpers/calculator.php';
$view = JFactory::getApplication()->input->getCmd('view', 'pricetable');
$layout = JFactory::getApplication()->input->getCmd('layout', 'edit');
JFactory::getApplication()->input->set( 'layout', $layout );
JFactory::getApplication()->input->set('view', $view);
JFactory::getApplication()->input->set('id', 1);
parent::display($cachable, $urlparams);
return $this;
}
id установлен на 1, поэтому он загружает только первую строку из базы данных.
код для ценового контейнера:
function __construct() {
$this->view_list = 'pricetable';
parent::__construct();
}
Теперь в админке форма загружается по желанию с первой строкой данных. Когда я пытаюсь сохранить форму, она перенаправляется на administrator/index.php?option=com_calculator&view=pricetable
, а ошибка:
Ошибка: вам не разрешено использовать эту ссылку для прямого доступа к этой странице (№ 1).
мое действие формы:
<?php echo JRoute::_('index.php?option=com_calculator&task=pricetable.edit&id='.(int) $this->item->id); ?>
Пожалуйста, предложите, где я делаю неправильно. Третий день ломаю голову. :(