我是Joomla的新手,我想知道Joomla控制器如何將數據傳遞給模型,模型以控制器和控制器來查看。雖然這可能是一個愚蠢的問題,但我真的試圖找到答案。我希望我能從stackoverflow系列獲得一些幫助。Joomla模型視圖控制器(MVC)如何工作?
回答
控制器拾取在url視圖變量和使用這些確定哪個視圖需要被使用。然後它設置要使用的視圖。該視圖然後調用模型來獲取它所需的數據,然後將其傳遞給tmpl以進行顯示。
下面是這一切是如何一起工作進行簡單的設置:
組件/ com_test/Controller.php這樣
class TestController extends JController
{
// default view
function display() {
// gets the variable some_var if it was posted or passed view GET.
$var = JRequest::getVar('some_var');
// sets the view to someview.html.php
$view = & $this->getView('someview', 'html');
// sets the template to someview.php
$viewLayout = JRequest::getVar('tmpl', 'someviewtmpl');
// assigns the right model (someview.php) to the view
if ($model = & $this->getModel('someview')) $view->setModel($model, true);
// tell the view which tmpl to use
$view->setLayout($viewLayout);
// go off to the view and call the displaySomeView() method, also pass in $var variable
$view->displaySomeView($var);
}
}
組件/ com_test /視圖/ someview/view.html.php
class EatViewSomeView extends JView
{
function displaySomeView($var) {
// fetch the model assigned to this view by the controller
$model = $this->getModel();
// use the model to get the data we want to use on the frontend tmpl
$data = $model->getSomeInfo($var);
// assign model results to view tmpl
$this->assignRef('data', $data);
// call the parent class constructor in order to display the tmpl
parent::display();
}
}
組件/ com_test /模型/ someview.php
class EatModelSomeView extends JModel
{
// fetch the info from the database
function getSomeInfo($var) {
// get the database object
$db = $this->getDBO();
// run this query
$db->setQuery("
SELECT
*
FROM #__some_table
WHERE column=$var
");
// return the results as an array of objects which represent each row in the results set from mysql select
return $db->loadObjectList();
}
}
個
組件/ com_test /視圖/ someview/TMPL/someviewtmpl.php
// loop through the results passed to us in the tmpl
foreach($this->data as $data) {
// each step here is a row and we can access the data in this row for each column by
// using $data->[col_name] where [col_name] is the name of the column you have in your db
echo $data->column_name;
}
查看本網站的詳細教程,瞭解如何使用Joomla的MVC製作組件和模塊。希望它有助於
死鏈接......可能不是當你發佈所以沒有降票時。 – araisbec 2014-02-18 14:29:05
每當你連接到其他地方時,請張貼鏈接的回顧。 – 2014-07-24 16:19:06
也可參考有關如何讓使用Joomla的MVC組件和模塊的詳細教程Joomla官方文檔。希望它有幫助 http://docs.joomla.org/Developing_a_Model-View-Controller_Component/1.5/Introduction
- 1. (模型/視圖/控制器)MVC
- 2. 模型視圖控制器中的模型視圖控制器
- 3. 模型視圖控制器
- 4. 如何從視圖傳遞模型控制器在MVC
- 5. 如何在控制器/視圖mvc中使用多個模型?
- 6. 如何通過knockoutjs視圖模型爲MVC控制器
- 7. 如何從控制器傳遞變量到視圖的Joomla MVC
- 8. MVC - 模型 - 視圖和控制器的作用
- 9. 如何使用模型/視圖/控制器方法制作GUI?
- 10. 根據Java中的模型 - 視圖 - 控制器製作視圖
- 11. 模型 - 視圖 - 控制器(MVC)優於模型 - 視圖的優點是什麼?
- 12. Angular.js模型 - 視圖 - 控制器動態更新不工作
- 13. MVC 4強類型視圖未通過控制器模型
- 14. 的UIView和模型 - 視圖 - 控制器(MVC)模式
- 15. MVC模式 - 控制器和視圖
- 16. Silverstripe自定義控制器和視圖(模板)如何工作?
- 17. 模型視圖控制器(MVC)設計模式 - 如何將多個視圖鏈接到多個模型?
- 18. Cocoa MVC:「模型控制器」和「視圖控制器」之間的交互
- 19. iPhone手工製作視圖/控制器
- 20. 如果mvc模型視圖控制器有一個參數getJSON不起作用
- 21. 父視圖控制器和模型 - 視圖 - 控制器解僱檢測工作不
- 22. 使用視圖控制器既作爲模式視圖控制器和作爲標籤欄視圖控制器
- 23. MVC控制器不控制視圖
- 24. MVC:爲什麼模型,視圖和控制器的分離?
- 25. MVC - 從視圖刷新控制器SQL數據模型?
- 26. 將淘汰賽視圖模型傳遞給mvc控制器
- 27. ASP.NET MVC,將模型從視圖傳遞到控制器
- 28. PHP MVC - 從模型或控制器調用視圖函數?
- 29. MVC - 此代碼是否屬於模型,控制器或視圖?
- 30. MVC:無法回發視圖模型到控制器
順便說一句MVC代表模型視圖控制器 – Martin 2011-04-19 08:32:01