Joomla 1.5 Верстка Рецепты Переопределение helper.php в шаблоне Joomla 1.5


Переопределение helper.php в шаблоне Joomla 1.5

Рейтинг пользователей: / 1
ХудшийЛучший 

Пример задачи для которой нужно переопределить файл helper.php в шаблоне Joomla 1.5 - это добавление title (тайтла) к пунктам меню.

Стандартно такой функционал не предусмотрен, хотя это очень полезно как для seo-продвижения сайта, так и для юзабилити сайта.

Итак, рассмотрим как решить эту проблему конкретно для модуля меню (mod_mainmenu).

Особенность данного модуля в том, что собственно вывод конкретного пункта меню скрывается в helper.php и стандартно мы не можем как то существенно повлиять через default.php (только добавить оберток, но добавить title в ссылку - не получится).

Берем /modules/mod_mainmenu/helper.php и копируем его в /templates/название шаблона/html/mod_mainmenu.

Пока он у нас не работает - для его подключения необходимо добавить строчку

require_once (dirname(__FILE__).DS.'helper.php');

в default.php.

 

Далее в helper.php переименовываем классы

  • modMainMenuHelper -> WebmodMainMenuHelper
  • JMenuTree -> WebJMenuTree

и функции 

  • buildXML -> WebbuildXML.

В файле default.php переименовываем callback-функцию

modMainMenuXMLCallback в WebmodMainMenuXMLCallback.

Теперь осталось поправить вызовы функций в default.php и в helper.php и готово, можно добавлять новый функционал в helper.php.

Я, в частности, добавил генерацию тайтла по принципу - из названия пункта меню в названии остается часть до "::", а то, что дальше - становится тайтлом. Если же символов "::" в названии нет, то тайтл совпадает с названием пункта меню.

Чтобы воспользоваться данным методом достаточно скачать файл и распаковать его содержимое в папку /templates/название шаблона/html/mod_mainmenu. 

Внимание!!! Если в Вашем шаблоне эта папка ну пуста и там реализован другой функционал, то он потеряется (а именно шаблоны от yootheme, joomlart, icetheme и другие).

 

 
Интересная статья? Поделись ей с другими:

Опубликовать в Twitter Написать в Facebook Поделиться ВКонтакте В Google Buzz Записать себе в LiveJournal Показать В Моем Мире В дневник на LI.RU Поделиться ссылкой на Я.ру Поделиться ВОдноклассники

Добавить комментарий


Защитный код
Обновить