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

seregaы

  • Новичок
  • 2
  • 0 / 0
Название категории в title
« : 14.01.2016, 16: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, 12:05:54 от seregaы »
*

seregaы

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

effrit

  • Легенда
  • 8553
  • 949 / 9
  • effrit.com
Re: Название категории в title
« Ответ #2 : 18.01.2016, 10: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 );
}
?>

*

Matysh

  • Новичок
  • 23
  • 0 / 0
Re: Название категории в title
« Ответ #3 : 03.11.2017, 09:31:31 »
У данного решения есть недостаток. Если странице был задан кастомный title в настройках меню - он перетрется. Поэтому лучше так:
Код
$fulltitle = JFactory::getDocument()->getTitle().' - '.$db->loadResult();
*

Aleks.Denezh

  • Живу я здесь
  • 3354
  • 414 / 4
Re: Название категории в title
« Ответ #4 : 03.11.2017, 13:04:09 »
1. Вам нужно переопределить шаблон вывода материала (Это можно сделать через админку) зайдя по адресу ваш-сайт/administrator/index.php?option=com_templates&view=templates
2. выбрать ваш текущий шаблон и сделать переопределение его http://joxi.ru/krDlkw0IEngEar
3. У нас появится файл по адресу templates/ваш_шаблон/html/com_content/article/defaul.php
4. Открываете его
5. Пишете 
Код
$document = JFactory::getDocument();
$document->setTitle( $document->title.' - '. $this->item->category_title);

Будет работать только в материале, и никаких левых запросов ненужно делать!
*

Matysh

  • Новичок
  • 23
  • 0 / 0
Re: Название категории в title
« Ответ #5 : 04.11.2017, 00:01:16 »
Спасибо, так действительно круче)
*

Matysh

  • Новичок
  • 23
  • 0 / 0
Re: Название категории в title
« Ответ #6 : 03.06.2018, 11:05:29 »
1. Вам нужно переопределить шаблон вывода материала (Это можно сделать через админку) зайдя по адресу ваш-сайт/administrator/index.php?option=com_templates&view=templates
2. выбрать ваш текущий шаблон и сделать переопределение его http://joxi.ru/krDlkw0IEngEar
3. У нас появится файл по адресу templates/ваш_шаблон/html/com_content/article/defaul.php
4. Открываете его
5. Пишете 
Код
$document = JFactory::getDocument();
$document->setTitle( $document->title.' - '. $this->item->category_title);

Будет работать только в материале, и никаких левых запросов ненужно делать!
Подскажите, а как сюда добавить исключение для материалов без категории? А то сейчас "Название материала - Без категории" выводится. Нужно, видимо, условие одно добавить...
*

Matysh

  • Новичок
  • 23
  • 0 / 0
Re: Название категории в title
« Ответ #7 : 03.06.2018, 11:20:23 »
А, разобрался, добавляем if ($this->item->catid != 47/*ваш ID без категории*/){
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу создать/изменить категорию для пункта меню типа блог категории

Автор master-smeta

Ответов: 11
Просмотров: 514
Последний ответ 11.08.2018, 15:14:11
от lexxbry
Как добавить alias категории материала к классу элемента?

Автор timofe

Ответов: 18
Просмотров: 243
Последний ответ 09.08.2018, 17:47:53
от lexxbry
Title атрибут - Image Title

Автор phvsfpgs

Ответов: 2
Просмотров: 109
Последний ответ 03.08.2018, 21:56:20
от phvsfpgs
Вывод связанных материалов из определенной категории

Автор kav9307

Ответов: 5
Просмотров: 169
Последний ответ 01.08.2018, 22:55:26
от kav9307
Вывод количества материалов категории в пункте меню

Автор timofe

Ответов: 1
Просмотров: 100
Последний ответ 29.07.2018, 00:01:58
от pavelrer