我正在尝试在模块位置显示类别名称。
我试过:
<?php echo $listing['Category']['title'];?>
它不起作用。
我点击了这个链接,但它显示了文章标题,我需要类别一。我正在开发 Joomla 1.7。
我正在尝试在模块位置显示类别名称。
我试过:
<?php echo $listing['Category']['title'];?>
它不起作用。
我点击了这个链接,但它显示了文章标题,我需要类别一。我正在开发 Joomla 1.7。
更简单的答案:
<?php echo $this->escape($this->item->category_title);?>
根据 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;
?>
Travega 非常接近,他的代码适用于页面,但不适用于类别页面。
当您使用$id = JRequest::getString('id'); 在分类页面(例如分类博客或列表页面)上,返回分类的 id。这意味着我们需要更多 id 变量的上下文,在本例中是“视图”。
这是我修改后的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 组件,我没有在其他任何东西上测试过它。这意味着它可能无法在网络链接、联系人等页面上运行,因为您可能会再次失去上下文。