3
我創建了一個自定義組件,其中包含更新四種產品的價格以顯示在前端。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;
}
ID設置爲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) ;?>'? – 2013-04-05 09:11:59
這也沒有什麼反應。我認爲是可控制的控制器的問題。是不是有任何方法將組件重定向到管理員/ index.php?option = com_calculator&task = pr icetable.edit&id = 1'在第一次加載時。 – Harpreet 2013-04-05 09:18:01
我想你可以在同一頁面上更新數據。無處。所以只要將此字段設爲空('action')以確保您保持在同一頁面上... – StasGrin 2013-04-05 10:14:16