我正在构建一个Joomla模块,它可以获取站点上所有文章的数组--不考虑类别--然后识别类别,检索简介文本和标题,并以平铺布局显示每个类别中最近两篇文章的标题、类别和简介文本。我已经完成了布局,但我不知道从哪里开始做剩下的事情。有可能吗?
我不反对从分类博客中获取文章,但我不确定这是否可能。
发布于 2016-06-03 12:28:00
有一种检索文章的最佳方法:
$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缓存,并且不依赖于数据库结构。
发布于 2014-01-16 14:16:07
这是未测试的代码,您可能需要检查并进行细微的修改。
方法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);https://stackoverflow.com/questions/21154330
复制相似问题