0

我正在尝试在模块位置显示类别名称。

我试过:

<?php echo $listing['Category']['title'];?>

它不起作用。

我点击了这个链接,但它显示了文章标题,我需要类别一。我正在开发 Joomla 1.7。

4

3 回答 3

6

更简单的答案:

<?php echo $this->escape($this->item->category_title);?>
于 2014-06-15T20:24:21.257 回答
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; 
?>
于 2012-01-19T22:31:59.543 回答
5

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 组件,我没有在其他任何东西上测试过它。这意味着它可能无法在网络链接、联系人等页面上运行,因为您可能会再次失去上下文。

于 2012-03-22T19:55:29.560 回答