![](/img/trans.png)
[英]How to pass array of data from Joomla view form and get the array of data in Joomla Controller
[英]How to pass data from Joomla sub controller to view?
我已經看到很多例子將數據從Joomla控制器傳遞給視圖(例如這里 )。 但我需要將Joomla子控制器傳遞給特定的視圖文件(view.html.php)。 我搜索了一整天並沒有找到解決方案。 有誰知道如何做到這一點?
Joomla MVC非常松散,您可以通過多種方式實現此行為。 我認為這是在Joomla中實現MVC的最標准序列:
但你可以處理3中的參數並將它們傳遞給模型; 這真的是風格/品味的問題。 由於Joomla允許您使用$ this-> get('Data')從視圖中調用模型,因此沒有傳遞params的空間; 但是你可以選擇調用$ model-> getData2($ param1,$ param2)。
基本電話是:
JApplication::getUserStateFromRequest()
它在一次調用中讀取輸入並返回先前保存的會話數據;
setUserState在會話中保留此信息,並在模型中使用getUserState來檢索數據。
但是,您可以簡單地重定向傳遞URL中的參數; 然后使用view.html.php解析輸入並在調用方法($ model-> setState)之前設置模型的內部狀態,或者完全避免重定向並從控制器加載模型和視圖(這似乎更標准輕松接近MVC,但在Joomla中很少見到。
直接從控制器調用視圖
$vName = 'yourview';
$vFormat = 'html'; // raw
if ($view = $this->getView($vName, $vFormat)) {
$model = $this->getModel($vName);
$model->setState('filter.type', $type);
$view->setModel($model, true);
// Push document object into the view.
$view->assignRef('document', $document);
$view->display();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.