我想用 php 将 K2 文章添加到 joomla 数据库中。我可以在文章表中添加一条记录吗?还是我也需要更新任何其他表?我对 PHP 和 mySQL 有一些基础知识,但我希望能在正确的方向上推动正确的语法来做到这一点。
非常感谢, 哈坎
我也在做同样的事情,但在 K2 项目保存上(不适用于 K2 中已经保存的项目)。这样我就可以将 K2 中的项目复制到 joomla 中的文章中,只需单击 K2 项目创建面板上的保存即可。
K2 中的“项目”是 Joomla 中的“文章”。
我正在使用我在这篇文章中提到的过程覆盖核心 K2-> Joomla - 覆盖 getItem 方法
然后我找到了 K2 保存文章的位置,如这篇文章-> Joomla - K2 中保存新项目的标题和别名的代码在哪里
现在,我下一步将在覆盖文件(K2 的 models\item.php)的 save() 函数中添加一段代码,以便将相同的 K2 项目也保存到 joomla com_content 表中。您将在我提到的帖子中找到所有信息。如果有不清楚的地方,请发表评论,以便我回复查询。
祝你好运!
对于 Joomla 1.6 或更高版本中的文章,您还必须在资产表中有一个条目,并且必须使用 JTableContent 中的方法正确创建它。
我已经在 Joomla 2.5 及更高版本中多次这样做了。只需将结构正确的行插入 Joomla 数据库中的 k2_items 表即可。不过,您需要确保添加的每个新行都有一个正确递增的 id。这是一个例子:
$data =new stdClass();
$data->id = null;
$data->title = $title;
$temp = strtolower($data->title);
$data->alias = str_replace(' ', '-', $temp);
$data->catid = $catid;
$data->published = 1;
$data->introtext = $introtext;
$data->fulltext = $fulltext;
对所有其他 K2 字段(有一堆)执行相同的操作,直到您最终可以编写以下代码:
$db = JFactory::getDBO();
$db->insertObject( '#__k2_items', $data, id );