我正在尝试在模块位置显示类别名称。
我试过了:
<?php echo $listing['Category']['title'];?>
它不起作用。
我关注了this link,但它显示了文章标题,我需要第一类。 我正在研究Joomla 1.7。
答案 0 :(得分:6)
更简单的回答:
<?php echo $this->escape($this->item->category_title);?>
答案 1 :(得分:5)
根据OP中的海报评论:
<?php
$db = &JFactory::getDBO();
$id = JRequest::getString('id');
$db->setQuery('SELECT #__categories.title FROM #__content, #__categories WHERE #__content.catid = #__categories.id AND #__content.id = '.$id);
$category = $db->loadResult();
echo $category;
?>
答案 2 :(得分:5)
Travega非常接近,他的代码适用于页面,但不适用于类别页面。
在类别页面(例如类别博客或列表页面)上使用 $ id = JRequest :: getString('id'); 时,将返回该类别的ID。这意味着我们需要更多id变量的上下文,在本例中是'view'。
这是我修改过的travega代码版本:
function getCategoryName() {
//Modified from: http://stackoverflow.com/questions/8928967/joomla-display-catagory-name-in-template
$db = &JFactory::getDBO();
$id = JRequest::getString('id');
$view = JRequest::getString('view');
if ($view == 'category') {
$sql = "SELECT title FROM #__categories WHERE #__categories.id = $id";
} else {
$sql = "SELECT #__categories.title FROM #__content, #__categories WHERE #__content.catid = #__categories.id AND #__content.id = $id";
}
$db->setQuery($sql);
$category = $db->loadResult();
return $category;
}
其他相关信息:
我只在猫博客和猫列表页面上对Joomla 2.5.3进行了测试。我没有在com_content组件之外的任何东西上测试它。这意味着它可能无法在weblink,contact等页面上工作,因为您可能会再次松开上下文。