如何在joomla 2.5中调用自定义组件中的核心内容组件?

时间:2014-10-26 22:29:44

标签: joomla joomla2.5 joomla-extensions

我的自定义组件必须调用核心内容组件,并在#__content表中使用适当的值创建一个条目。当我在文章管理器中添加新文章时,我必须仅将标题作为必填字段值,并且将自动创建其他值。我想在我的自定义组件中假装这个。

1 个答案:

答案 0 :(得分:0)

不是直接更新数据库表,而是从ContentModelArticle加载com_content并使用该模型创建新文章。这将为您生成alias,根据View Access执行所有ACL等,让任何系统或内容插件查看文章并执行任何操作。

ContentModelArticleJModelAdmin延伸,因此您可以使用->save($data)方法。其中$dataarray要绑定到ContentModelArticle方法中的新save()的内容。

所以,一个基本的例子是:

// Create our data with some sample code
$data['title'] = 'My Title';
$data['catid'] = 10;          /* NB. this is just an example category Id obviously you'll need to provide a suitable catid for your site */
$data['articletext'] = 'Starting text...'; /* From memory you can't have an empty article.*/

// Get the Article model
$articleModel = $this->getModel('Article', 'ContentModel', array());

// Then save it:
$articleModel->save($data);

显然,您可以根据需要填充任意数量的字段,包括statepublish_uppublish_downcreate_by以及其他许多字段 - 只需查看结构数据库#__content中的内容表,以查看各个列及其类型。

注意:这是刚刚在浏览器中输入的未经测试的代码。我做了任何2.x的事情也已经有一段时间了。

最后,由于这个问题是关于Joomla的具体实施细节,如果您尝试询问the Joomla Q&A StackExhange site

,您可能会得到更好的结果