Я создал пользовательский компонент с формой для обновления цен на четыре продукта для отображения на интерфейсе.Joomla: ошибка при сохранении формы в пользовательском представлении
Мой главный контроллер код здесь:
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;
}
идентификатор устанавливается равным 1, чтобы он загружает только первую строку из базы данных.
кода pricetable контейнера:
function __construct() {
$this->view_list = 'pricetable';
parent::__construct();
}
В настоящее время в администраторе бэкэнда загружена форма по желанию с первой строкой данных. Когда я пытаюсь сохранить форму он перенаправлен administrator/index.php?option=com_calculator&view=pricetable
и ошибок:
Error: You are not permitted to use that link to directly access that page (#1).
моя форма действия:
<?php echo JRoute::_('index.php?option=com_calculator&task=pricetable.edit&id='.(int) $this->item->id); ?>
Пожалуйста, предложите, где я делаю неправильно. Уже третий день я царапаю себе голову. :(
, и если вы установите действие формы как ' Php echo JRoute :: _ ('index.php? Option = com_calculator & view = pricetable & task = pricetable.edit & id ='. (Int) $ this-> item-> id) ;?> '? –
С этим ничего не происходит. Я думаю, что это проблема с ценным контроллером. Нет ли способа перенаправления компонента на' administrator/index.php? Option = com_calculator & task = pr icetable.edit & id = 1' при первой загрузке. – Harpreet
Я думаю, что вы можете обновлять данные на той же странице. нигде более. поэтому просто сделайте это поле пустым ('action'), чтобы убедиться, что вы остаетесь на одной странице ... – StasGrin