如何在类别页面上获取 Joomla K2 项目作为对象?

Posted

技术标签:

【中文标题】如何在类别页面上获取 Joomla K2 项目作为对象?【英文标题】:How to get Joomla K2 item as object on category page? 【发布时间】:2014-12-05 09:43:46 【问题描述】:

我需要在templates/mytemplate/html/com_k2/default/category.php 中获取特定K2 类别的所有项目作为对象。比如:

foreach($this->category->items as $item) 
 echo $item->image;

但我不知道 K2 组件的 API。不仅要获得 $this->leading 或 $this->primary 或 $this->secondary 的限制,还要获得当前类别的所有项目

【问题讨论】:

【参考方案1】:

你可以通过直接查询 mysql 得到它:

$catid = $this->category->id;
$db = &JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('id','title','published','ordering')))
      ->from($db->quoteName('#__k2_items'))
      ->where($db->quoteName('catid')." = ".$db->quote($catid))
      ->order($db->quoteName('ordering').'ASC');
$db->setQuery($query);
$itemList = $db->loadObjectList();
if(count($itemList) > 0) 
foreach ($itemList as $item)
if($item->published == 1) 
 echo '<img src="/media/k2/items/src/'.md5('Image'.$item->id).'.jpg"  />';
 // if published
 // foreach
 // if count > 0

【讨论】:

以上是关于如何在类别页面上获取 Joomla K2 项目作为对象?的主要内容,如果未能解决你的问题,请参考以下文章

Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上

Joomla! K2 - 如何获取用户页面的作者项目计数?

在joomla k2 php中列出没有重复的类别

如果 Joomla K2 项目或 Joomla 文章在模板索引文件上检测

Joomla K2 内容按票数排序

在 Joomla 替代布局和使用 K2 模板之间感到困惑