Joomla - 获取文章ID数组,检索文本并链接到它们

时间:2014-01-16 05:56:38

标签: javascript php jquery joomla

我正在构建一个Joomla模块,可以获取网站上所有文章的数组 - 无论类别如何 - 然后识别类别,检索介绍文本和标题,并显示标题,类别和介绍文本平铺布局中每个类别中最近的两篇文章。我完成了布局,但我不知道从哪里开始。有可能吗?

我不反对从类别博客中获取文章,但我不确定这是否可行。

2 个答案:

答案 0 :(得分:1)

检索文章的最佳方法是:

$jcontent=JControllerLegacy::getInstance('Content');
$jarticles=$jcontent->getModel('Articles');
$jarticles->getState();
$jarticles->setState('filter.article_id', $ids);
$jarticles->setState('list.limit', count($ids));
$jarticles->setState('filter.published', 1);
$articles=$jarticles->getItems();

这段代码经过测试,对我来说,这是最好的方法 - 它使用Joomla抽象来检索文章,它使用Joomla缓存而不依赖于数据库结构。

答案 1 :(得分:0)

这是代码未经过测试,您可能需要检查并进行微小修改。

方法1 :在此您需要再次从循环内部的类别ID查询类别详细信息。

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select('*');
$query->from('#__content');

$db->setQuery((string)$query);
$res = $db->loadObjectList();

foreach($res as $r){
    //query category details also here
    echo '<h3>'.$r->title.'</h3>';
    echo $r->introtext;
}

方法2 :在此方法中,您应该在一个查询中同时获取内容和类别详细信息。在select查询中,您需要包含所需的字段名称。

$db = JFactory::getDbo();
$db->setQuery('SELECT #__content.title as contentTitle, #__categories.title as catTitle FROM #__content, #__categories WHERE #__content.catid = #__categories.id'); 
$details = $db->loadObjectList();
print_r(details);