2012-01-19 52 views
0

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

我想:

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

它没有工作。

我跟着this link,但它显示文章标题和我需要的类别之一。 我正在Joomla 1.7上工作。

+1

得到了答案。虽然sombody可能会受益于它在这里。 <?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; ?> 欢呼声 – user1154641

+0

您好user1154641,请将上述内容作为回答发布并标记为已解决。所以其他有需要的人可以很容易地发现它。 :) – saji89

回答

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; 
?> 
5

Travega是真的很近,他的代码工作在页面上,但不能在类别页面。

当您使用$ id = JRequest :: getString('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组件之外,我还没有测试过它。这意味着它可能不适用于网页链接,联系人等页面,因为您可能会再次松散上下文。

5

更简单的答案:

<?php echo $this->escape($this->item->category_title);?>