构建一个本地的 Joomla 3.x 组件

7
所以我决定看看新的Joomla! MVC带来了什么。因为我是一个学以致用的人,所以我开始构建一个本地的Joomla!3.x组件,我的意思是在一个真实的项目中不使用旧版类,而不仅仅是hello world的东西。
作为学习材料,我使用了Lendr教程,并且我还检查了一下新的Joomla!jissues代码
从旧版类中我错过的一件事情是JModelList。所以我基本上是从那里复制粘贴方法到我的组件中。
现在一切都是如此轻巧和灵活,但基本上要实现与旧版类相同的功能,我实际上必须编写和维护更多的代码。其中我“喜欢”编写的功能之一是基本的CRUD功能。
所以我的问题是:有没有使用Joomla的新MVC的好例子?

你看过3.1版本中的新安装程序了吗?它应该使用新的MVC架构编写。稍微离题:为什么你没有在这个问题上打上[tag:joomla]标签呢?我认为如果有这个标签,许多Joomla问题会更加可见。你觉得我们是否可以创建[tag:joomla]和[tag:joomla2.5] [tag:joomla3.1]等标签之间的同义词关系? - Marko D
谢谢你提醒我,我会检查一下(完全忘记了!)。离题:添加了 Joomla! 标签。谢谢你提出这个问题,昨天我也有类似的想法。我将在 Joomla1.6、1.7、2.5 系列和 3.1、3.2、3.5 系列之间创建同义词。但我愿意讨论一下,也许可以在元数据上进行? - Valentin Despa
我现在正在那里写问题。 - Marko D
2个回答

5
新的MVC类并不适合与CMS开箱即用。如果你愿意维护额外的代码,它们是可用的。
3.1安装程序使用新的MVC,否则我知道使用较新的MVC的最好的例子是跟踪应用程序(这是我见过的唯一大型Web应用程序)和平台拉力测试仪。
David Hurley在Joomla! Magazine上发表了一系列关于使用新MVC的文章latest article,但目前还没有很深入的探讨。

4
据我所知,JIssues 是使用 Joomla CMS 新 MVC 的唯一公共示例。
虽然我认为新的 MVC 极简主义对于平台/框架应用程序非常方便,但出于你所写的原因,我不愿意在新组件中使用它——它缺少一些 CMS 特定的东西。
我认为我们(社区)应该开发这些类(稍后可在 /libraries/cms/ 中使用),考虑 Joomla 中的新事物(MVC、Router、ApplicationWeb)以及 PHP 5 中的新事物。 JModelTracker 可能是一个值得审查的好东西。 编辑: 有一个建立在 Joomla 平台上的应用程序:Cobalt CRM
虽然它不是 CMS 组件,但某些设计模式与新的 MVC 在 CMS 中的使用方式相似:有一个基本模型 CobaltModelDefault,其他模型扩展它(例如 CobaltModelDocuments)。
对我来说,准备一些用于 CMS 中常见使用的类是有意义的(这些类可能与旧版相似),但要考虑 RAD 技术,如 Framework-on-Framework、命名空间等。

感谢您的输入。我仔细查看了JModelTracker,大部分代码与传统类相同(就我目前分析的情况而言)。 - Valentin Despa
2
还有一件值得检查的事情可能是在标签组件中使用内容表。 - piotr_cz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接