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

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

  • Гуру
  • 7863
  • 877 / 7
  • 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

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

Aleks.Denezh

  • Живу я здесь
  • 2958
  • 388 / 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

  • Новичок
  • 13
  • 0 / 0
Re: Название категории в title
« Ответ #5 : 04.11.2017, 00:01:16 »
Спасибо, так действительно круче)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Адрес изображения в модуле при открытии материала в блоге категории меняется

Автор leonid.m

Ответов: 4
Просмотров: 86
Последний ответ 05.12.2017, 01:36:35
от leonid.m
Добавить МетаТеги og:title и og:image

Автор SmYk

Ответов: 3
Просмотров: 121
Последний ответ 27.11.2017, 10:04:47
от wishlight
Вместо категории Джумла - обычная страница

Автор HolySong

Ответов: 0
Просмотров: 41
Последний ответ 21.11.2017, 12:18:03
от HolySong
Удалить заголовок название сайта стандартно

Автор tmpnikl

Ответов: 2
Просмотров: 79
Последний ответ 17.11.2017, 11:09:32
от tmpnikl
Скрыть название отображаемого материала

Автор _Анатолий_

Ответов: 3
Просмотров: 85
Последний ответ 15.11.2017, 14:00:39
от _Анатолий_