我对Joomla非常不熟悉(坦率地说,我刚刚开始探索使用Joomla的可能性),需要帮助以编程方式向Joomla后端表添加文章(请参阅下面的详细信息)。同样地,我想了解列的值应该如何:
- parent_id
- 融通的
- rgt
是为表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
等。
Joomla在编写自定义php搜索和演示页面以及趋势等方面提供的所有优势,我们真的很想切换到它。例如,在其他表中,#__assets
和#__content
似乎可以通过编程方式填充,以从我们现有的php程序(用于编译数据)填充Joomla,然后使用Joomla。
任何例子,建议和帮助都非常感谢
亲切的问候雀鳝
只是一个初步的说明: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);
实际的字段列表会比这个长一点(必填字段等),但是你应该从Joomla框架中得到相同的错误信息等。
总结一下:
- 加载Joomla框架,这样你就可以访问数据库、组件、模型等了
- 包含com_content文章类,它将为您处理验证,保存到数据库等
- 创建一个文章实例,并根据需要填写必要的字段
- 调用save ()
现在我想一下,这可能会在1.5…
我找到了一个更好的方法来做到这一点,没有任何错误文章编程
$table = JTable::getInstance('Content', 'JTable', array());
$data = array(
'catid' => 1,
'title' => 'SOME TITLE',
'introtext' => 'SOME TEXT',
'fulltext' => 'SOME TEXT',
'state' => 1,
);
// Bind data
if (!$table->bind($data))
{
$this->setError($table->getError());
return false;
}
// Check the data.
if (!$table->check())
{
$this->setError($table->getError());
return false;
}
// Store the data.
if (!$table->store())
{
$this->setError($table->getError());
return false;
}