Хотя вопрос о том, Как сделать Заголовок меню в виде ссылки в Joomla был мной решён, однако не давало покоя то, что для этого приходилось каждый раз открывать phpMyAdmin и править Заголовок ручками. И всё бы ничего, если бы это требовалось делать только один раз, но, как будет показано ниже, это нужно делать каждый раз, когда в модуль вносятся изменения в админке Joomla. В этой статье подробно рассмотрим, как убрать фильтрацию поля «Заголовок» в Менеджере модулей Joomla. Так, чтобы при сохранении модуля, все теги в поле «Заголовок» сохранялись в базе данных, а не удалялись.
Что происходит при вставке любых тэгов в заголовок модуля Joomla
Рассмотрим ситуацию, когда нам нужно вставить перевод строки и ссылку в заголовок модуля. Для этого должен быть включен показ заголовка модуля на сайте. Вставим пару тегов в поле «Заголовок» модуля и сохраним эти изменения:
После того, как изменения будут сохранены, поле «Заголовок» модуля очищается от любых тегов:
Ну и на сайте заголовок выглядит просто как заголовок
Чтобы вставить ссылку в заголовок, приходится править базу данных ручками. Что неудобно по многим причинам (о них я написал выше во вступлении).
Правки фильтрации поля «Заголовок» модуля в компоненте Joomla
Для того, чтобы отменить фильтрацию поля «Заголовок» модуля нужно внести изменения в файл, описывающий стандартные поля модуля, расположенный на сервере в папке:
administrator/components/com_modules/models/forms/module.xml
Как можно уже догадаться, это файл module.xml
Для того, чтобы отменить фильтрацию поля «Заголовок» нужно заменить код поля title
в районе 13-й строчки вставив дополнительную строчку filter="raw"
То есть, было:
<field
name="title"
type="text"
label="JGLOBAL_TITLE"
description="COM_MODULES_FIELD_TITLE_DESC"
class="input-xxlarge input-large-text"
size="40"
maxlength="100"
required="true"
/>
Стало:
<field
name="title"
type="text"
label="JGLOBAL_TITLE"
description="COM_MODULES_FIELD_TITLE_DESC"
class="input-xxlarge input-large-text"
size="40"
maxlength="100"
required="true"
filter="raw"
/>
Вставка тэгов в заголовок модуля Joomla после правки файла module.xml
После того, как были внесены правки в файл module.xml
попробуем ещё раз вставить а поле «Заголовок» модуля ссылку и перевод строки:
И, О чудо! После сохранения изменений в поле «Заголовок» модуля все теги сохраняются:
Это конечно с непривычки неудобно в списке модулей в поле «Заголовок» в Менеджере модулей отображение тоже идёт с HTML-тегами,
но это уже гораздо лучше, чем каждый раз лазить и править базу данных сайта вручную. =)
Ну и можно убедиться, что в заголовке модуля все теги работают корректно и заголовок модуля можно сделать ссылкой:
Заключение
Всё это будет работать и работает до накатывании новой версии Joomla. Поэтому имеет смысл следить за тем, чтобы восстанавливать файл module.xml
после каждого обновления CMS Joomla. Я это делаю по строго определённому плану. ; )
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)