3

我最近一直在拼凑一些基本的 Joomla 1.5 组件和模块,而且每次我进入它时,我都会把头发扯下来,因为我根本不明白 MVC 模式是如何工作的。我遇到的问题的一些例子:

  • 视图如何访问模型?
  • 如何切换到不同的视图?
  • 您甚至如何包含定义模型的正确文件?
  • 等等

我确信我的所有问题都有非常简单的答案:我的主要问题是,总的来说,我觉得“文档”根本没有用,而且肯定没有提供有关如何在其中开发组件/模块的足够信息新的 MVC 风格。API 网站几乎没有用处,因为它提供的只是函数的类树,几乎没有任何评论。文档网站仅面向管理员和核心开发人员。

对于使用 Joomla 1.5 的 Web 开发人员,是否有任何有用的信息来源?

4

2 回答 2

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')调用该函数。

于 2009-01-09T14:28:33.937 回答
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找到它

希望有帮助

于 2009-02-17T23:36:25.807 回答