我是Joomla的新手(坦率地说,刚刚开始探索使用Joomla的可能性)并需要帮助以编程方式向Joomla后端表添加文章(请参阅下面的详细信息)。同样沿着同样的路线,我想了解列的值应该如何:
为表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。
非常感谢任何示例,建议和帮助
最诚挚的问候 碣
答案 0 :(得分: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);
实际的字段列表会比那些(必填字段等)稍长一些,但是你应该从Joomla框架中获得理智的错误消息等,这些都可以说明这一点。
总结如下:
现在我考虑一下,这可能会在1.5 ......
中起作用答案 1 :(得分:2)
找到一种更好的方法来做到这一点,没有任何错误Create a Joomla! Article Programatically
$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;
}