Название категории в title

  • 2 Ответов
  • 332 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Название категории в title
« : 14.01.2016, 18:14:26 »
Приветствую, может уже была такая тема, не нашел.
Возможно ли сделать чтобы в тег <title></title> на странице материала, писалось название категории?
Например так:
<title>Название материала - название категории?</title>

Нашел такое решение, добавить в index.php шаблона:
Код
<?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);
    $document = & JFactory::getDocument();
    $fulltitle = $document->title.' - '.$db->loadResult();
    $document->setTitle( $fulltitle );
?>

Но работает не совсем корректно. В материале все правильно, а вот главная страница, страница вывода материала по меткам выдают ошибки(не грузятся вообще)...

З.Ы: В PHP почти ничего не понимаю...
Подсобите кто может...
« Последнее редактирование: 15.01.2016, 14:05:54 от seregaы »

Re: Название категории в title
« Ответ #1 : 18.01.2016, 11:51:35 »
Неужели никто не заморачивался таким вопросом?

*

effrit

  • *****
  • 7438
  • [+]822 / [-]7
  • effrit.com
Re: Название категории в title
« Ответ #2 : 18.01.2016, 12:11:40 »
здравствуйте.
дело в том, что вы всегда будете получать ID, вне зависимости от того, открыт материал или категория.
так что надо переписать код

@$article_id = (JRequest::getVar('option')==='com_content' && JRequest::getVar('view')==='article')? JRequest::getInt('id') : 0;

Код
<?php

    $id =  (JRequest::getVar('option')==='com_content' && JRequest::getVar('view')==='article')? JRequest::getInt('id') : 0;
if($id){
    $db = &JFactory::getDBO();
    $db->setQuery('SELECT #__categories.title FROM #__content, #__categories WHERE #__content.catid = #__categories.id AND #__content.id = '.$id);
    $document = & JFactory::getDocument();
    $fulltitle = $document->title.' - '.$db->loadResult();
    $document->setTitle( $fulltitle );
}
?>