以编程方式向Joomla添加文章

use*_*898 4 joomla1.5 joomla-template joomla1.6

我是Joomla的新手(坦率地说刚刚开始探索使用Joomla的可能性)并需要帮助以编程方式向Joomla后端表添加文章(请参阅下面的详细信息).同样沿着同样的路线,我想了解列的值应该如何:

  • PARENT_ID
  • LFT
  • RGT
  • 水平

为table jos_assets(#__assets)生成它们的功能角色(例如它们是"指针/索引",类似于一个os inode来唯一地标识文件,或者它们是更多功能属性,例如标识类别,子类别等)

使用以下简化示例来说明我尝试做的事情可能会有所帮助.假设我们有一个程序来收集各种关键信息,例如网络文章作者的姓名,文章的主题类型,文章的日期以及文章的链接.我希望能够扩展此程序以编程方式将此信息存储在Joomla中.目前,该信息存储在自定义表中,并且用户通过自定义php网页可以使用搜索标准,例如作者姓名,在特定日期范围内查找感兴趣的文章.然后显示此搜索的结果以及指向实际文章的超链接.这些文章本地存储在Web服务器上,而不是外部链接.存储在自定义表中的超链接部分包括物理文档的相对路径(相对于Web根目录),例如:

Author   date         type    html_file
Tom      08-14-2011   WEB     /tech/11200/ar_324.html
Jim      05-20-2010   IND     /tech/42350/ar_985.html
Run Code Online (Sandbox Code Playgroud)

等等

由于Joomla提供的所有优势都超过了编写自定义php搜索和演示页面以及趋势等,我们真的想切换到它.看来,其他表例如间是#__assets#__content可以通过编程来填充我们现有的PHP程序(这是用来编译数据),然后用填充的Joomla的Joomla.

非常感谢任何示例,建议和帮助

最亲切的问候Gar

Kin*_*kaL 5

初步说明:Joomla 1.6/1.7非常相似.1.5不是那么多.我假设1.6/1.7,因为这是我建议作为新项目的基础.

首先,您需要运行访问Joomla框架.您可以通过组件,模块或引导它或其他任何内容的cron来完成此操作.我不会去做怎么做.

但是一旦你这样做,创建一篇文章就相当简单了.

<?php
require_once JPATH_ADMINISTRATOR . '/components/com_content/models/article.php';

$new_article = new ContentModelArticle();

$data = array(
    'catid' => CATEGORY_ID,
    'title' => 'SOME TITLE',
    'introtext' => 'SOME TEXT',
    'fulltext' => 'SOME TEXT',
    'state' => 1,
);
$new_article->save($data);
Run Code Online (Sandbox Code Playgroud)

实际的字段列表将比那些(必需的字段等)稍长,但你应该从Joomla框架得到理智的错误消息等,这说明了这一点.

总结如下:

  • 加载Joomla框架,以便您可以访问数据库,组件,模型等
  • 包括com_content文章类,它将处理验证,保存到数据库等
  • 创建一个文章实例,并根据需要填写必填字段
  • 呼叫保存()

现在我考虑一下,这可能会在1.5 ...