Показать название категории в шаблоне - PullRequest
0 голосов
/ 19 января 2012

Я пытаюсь отобразить название категории в позиции модуля.

Я пытался:

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

Это не сработало.

Я перешел по этой ссылке , но там отображается название статьи, и мне нужнокатегория первая.Я работаю над Joomla 1.7.

Ответы [ 3 ]

6 голосов
/ 16 июня 2014

Гораздо более простой ответ:

<?php echo $this->escape($this->item->category_title);?>
5 голосов
/ 22 марта 2012

Травега действительно близок, его код работает на страницах, но не на страницах категорий.

Когда вы используете $ id = JRequest :: getString ('id'); на странице категории (такой как блог категории или страница списка) возвращается идентификатор категории.Это означает, что нам нужно больше контекста переменной id, в данном случае «view».

Вот моя модифицированная версия кода Travelga:


function getCategoryName() {
    //Modified from: /5354832/pokazat-nazvanie-kategorii-v-shablone

    $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 голосов
/ 20 января 2012

Согласно комментариям авторов в ОП:

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