我最近一直在攻击一些基本的Joomla 1.5组件和模块,每次进入它时,我最终都会撕掉我的头发,因为我根本不明白MVC模式是如何工作的。我遇到的一些问题的例子:
我确信我的所有问题都有非常简单的答案:我的主要问题是整体而言我并不认为“文档”是有用的,并且肯定没有提供有关如何开发组件的足够信息新MVC风格的/ modules。 API网站几乎没有用处,因为它提供的功能都是类树,几乎没有任何评论。 docs网站仅面向管理员和核心开发人员。
使用Joomla 1.5的网络开发者是否有任何有用的信息来源?
答案 0 :(得分:3)
虽然有一些关于核心团队的文章混合在一起,但这里有一个指向开发类别的链接,您可以从文档网站中获得最大的收益:http://docs.joomla.org/Category:Development是的,Joomla!框架可以在文档方面使用更多。
当您使用控制器类时,如果您的任务与任何功能都不匹配,则默认调用display()
函数。这反过来检查view
变量的HTTP请求,并显示具有相同名称的视图。如果未指定view
的值,则会出现错误。解决此问题的方法是在控制器中定义display()
函数,然后检查view
的值,如果未设置则将其设置为默认值,然后调用parent::display()
。这是我在最近的一个项目中用来显示mylist
视图的一个:
function display()
{
$view = JRequest::getVar('view', '');
if ($view == '') {
JRequest::setVar('view', 'mylist');
}
parent::display();
}
加载视图后,还会加载具有相同名称的模型。然后,您可以通过$this->get()
访问视图类中的模型函数。例如,如果您的模型中有一个名为getPreferences()
的函数,则可以调用$this->get('preferences')
来调用该函数。
答案 1 :(得分:1)
当您第一次深入研究MVC布局时,只需查看Joomla团队组件,就可能会非常棘手。
我发现当我第一次设计自己的组件时,它非常混乱和复杂,但我找到了一个示例组件和基本教程,用于在Joomla 1.5中编写MVC组件。您可以在http://www.vojtechovsky.net/joomla/component-helloworld-2-create-tutorial-guide-en.html
找到它我还在编写遵循MVC指南的“简单META管理套件”时,如果您希望将其用作助手,可以在www.aqsg.com.au找到它
希望有所帮助