2012-01-19 51 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);?>