Свой title для статей категории Joomla

0
58

Сеошники твердят, что заголовок статьи и содержимое тега title страницы должно отличаться. В редакторе пунктов меню Joomla есть возможность управления отображением заголовка в браузере. Но мы часто пользуемся блогами и списками статей на наших сайтах. И в этом случае title для каждой статьи берется из ее заголовка. Так что же делать, если нужен именно отличный от заголовка тайтл? — И, все же, выход есть.

В этой статье для решения проблемы я предлагаю прибегнуть к помощи редко используемых полей в редакторе статей на сайтах под Joomla. Каждый, кто работает с этой CMS знает, что таких полей не так уж и мало. Этот способ наименее затратный по времени реализации, не требует изменения кода движка или установки дополнительных расширений.

Предлагаю остановить выбор на поле «Ключ ссылки» с именем «xreference». Обычно, его редко используют. Но можно взять любое другое поле с подходящими параметрами. Главное, чтобы оно было текстовым и его можно было редактировать в ходе работы с контентом.

Если коротко, то суть задачи в следующем: нас интересует только модель «article» (category и прочее не обрабатываем, и все настраиваемые в меню заголовки там остаются, как есть); при отображении статьи дефолтный тег будет подменяться на наш только, если поле «Ключ ссылки» не пустое.

Для реализации нам потребуется только один файл — index.php шаблона сайта. В нем, в секции head, до того места, где подключается системный генератор содержимого данного блока (скрипты, метатеги, стили и т. п.) добавляем такой код:

<?php
                                  // Получаем параметр "view". Параметром title будем устанавливать
                                  // только "article", все остальное останется, как есть
  $view = JRequest::getVar('view');
 
  if ($view=='article') {         // Если view = "article":
                                  // Получаем ID материала для того, чтобы получить саму статью
      $article_id = JRequest::getInt('id');
                                  // Получаем все содержимое материала по полученному ID    
      $article = JControllerLegacy::getInstance('Content')->getModel('Article')->getItem($article_id);
                                  // Определяем переменную для title, обращаясь
                                  // к значению поля "Ключ ссылки" ($article->xreference)
                                  // Если значения нет - присваиваем переменной значение null
      $mytitle = (isset($article->xreference)&& !empty($article->xreference) )? $article->xreference : null;
                                  // Принудительно устанавливаем свой title только тогда,
                                  // когда соответствующая ему переменная не пуста    
      if (!$mytitle == null) {
          $doc = JFactory::getDocument();
          $doc->setTitle($mytitle);
          }
      }
 ?>

Заполняем поле «Ключ ссылки» любой статьи категории, которая выводится в виде блога или списка материалов и проверяем содержимое тайтла на сайте. При переходе по ссылке из блога или списка на статью, тайтл должен совпадать с текстом, которой вводили в поле.

Вот и вся реализация.

Ну, а тем, кто перешел на J3.x и регулярно обновляет движок, беспокоиться об этом не нужно. Разработчики предусмотрели возможность управления тайтлами для каждой статьи в редакторе. Теперь можно указывать этот параметр в секции настроек материала «Отображение» в поле «Заголовок страницы в браузере» (внизу).

Похожие записи

19.06.2019
0
3

Joomlashack Community v4.2.17 - социальный шаблон для Joomla

Joomlashack Community - это отличный вариант создания общественной сети для обмена полезной информаци...
18.06.2019
0
4

Какие сайты создают на Joomla

Аббревиатура CMS обозначает понятие Content Management Software, или по-русски Система Управления Содержи...
17.06.2019
0
10

Панель управления Joomla — управление backend

Вступление У сайта Joomla есть две части, одна часть для посетителей, называемая Frontend (фронтэнд)...

Комментарии

Ваш комментарий будет отправлен на модерацию.
  • Комментарии не найдены