Joomla по непонятным для меня причинам является очень популярной и востребованной CMS, хотя, опять-таки, по моему личном мнению предпосылок для этого мало.
Взять даже тему о которой пойдет речь в этой статье — примитивное и элементарное указание title для записей, которого нет в пакете из коробки. Сегодня нужно было добавить на один проект title и на это ушел добрый час-два времени. Хотя КАК (!!!) этой возможности может не быть в коробе я не понимаю..
Ну ладно. Оставим лирику позади. Итак — как добавить title к статьям в joomla.
Ответ прост — нужно установить дополнительное плагин и модуль.
Итак, устанавливаем расширение и модуль. Тут все стандартно: Aдмин-панель -> Расширения -> Менеджер расширений -> Загрузить и установить.
Ставим все и обязательно активируем во вкладке Управление. После этого при редактировании статьи под полем «Заголовок» должно появиться поле «Page title».
Если его нет — в списке расширений, в настройках найдите установленный только что модуль и в его параметрах укажите его активность «На всех страницах».
Еще одна проблема, которая может возникнуть — это отсутствие вывода в новых title названия сайта.
В таком случае нужно в файл /plugins/content/myextPagetitleContent/myextPagetitleContent.php внести несколько правок.
Ниже вид метода onBeforeCompileHead до внесения правок:
public function onBeforeCompileHead(){
$doc =&JFactory::getDocument();
if(isset($doc->_metaTags['standard']['browser_title'])){
$browser_title = $doc>_metaTags['standard']['browser_title'] ;
$doc->setTitle($browser_title);
unset($doc->_metaTags['standard']['browser_title']);
}
}
А теперь после:
public function onBeforeCompileHead(){
$doc =&JFactory::getDocument();
if(isset($doc->_metaTags['standard']['browser_title'])){
$config = &JFactory::getConfig() ;
$browser_title = $doc->_metaTags['standard']['browser_title'] . ' — Название Вашего сайта ;
$doc->setTitle($browser_title);
unset($doc->_metaTags['standard']['browser_title']);
}
}
Как видите разница минимально. Сначала объявляем переменную, после чего склеиваем три строки — наш title, разделитель и название сайта.