Как вставить любой символ (тег) в название заголовка статьи Joomla

При публикации материалов в Joomla иногда возникает необходимость вставить в заголовок статьи специальный символ (или даже HTML-тег), но при сохранении, Joomla обрезает все символы и удаляет все теги (и всё, что находится в этих тегах). В этой статье рассмотрим решение того, как вставлять любой символ (тег) в название заголовка статьи. Для этого потребуется внести кое-какое изменения в настройки компонента, отвечающего за публикацию материалов в Joomla.

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Исходная ситуация при вставке любых символов и тэгов в заголовок статьи Joomla

Сначала разберём то, что происходит, если попытаться вставить спец.символ или тег в в заголовок статьи Joomla на примере вставки PHP-кода в название материала:

вставка PHP-кода в название материала Joomla

Для этого возьмём любую статью на Joomla и вставим в неё символы, содержащие угловые скобки < и >, которые также встречаются и в HTML-тегах. Эта ситуация показана на картинке выше. После этого сохраним изменения в статье.

В результате, при сохранении Joomla вырежет спец.символы и то, что по её мнению находится в их границах:

Исходная ситуация при вставке любых символов и тэгов в заголовок статьи Joomla

И мы получим заголовок статьи без требуемых символов. Если попытаться заменить символы угловых скобок < и > их буквенными обозначениями: &lt; и &gt; они попадут в заголовок как есть, то есть в заголовке будут не угловые скобки, а их буквенное обозначение. И это не то, что нужно. Как же быть?

Настройка компонента com_content для вставки любого символа (тег) в название заголовка статьи Joomla

Для решения нашей задачи требуется отключить фильтрацию Joomla в поле заголовка материала. Это осуществляется компонентом com_content, а эти его настройки находятся в файле /administrator/components/com_content/models/forms/article.xml

Нас интересуют настройки поля title, которые занимают строки с 21 по 29 в том файле и имеют следующий вид:

<field 
	name="title" 
	type="text" 
	label="JGLOBAL_TITLE"
	description="JFIELD_TITLE_DESC"
	class="input-xxlarge input-large-text"
	size="40"
	required="true"
/>

Для того, чтобы Joomla не фильтровала перед сохранением передаваемый текст заголовка из поля title, требуется прописать дополнительное свойство для фильтра filter="raw", которое и отключит лишнюю (для нашего случая) фильтрацию. В итоге получится такой код (с дополнительной строкой):

<field 
	name="title" 
	type="text" 
	label="JGLOBAL_TITLE"
	description="JFIELD_TITLE_DESC"
	class="input-xxlarge input-large-text"
	size="40"
	required="true"
	filter="raw"
/>

Сохраним изменения в файле /administrator/components/com_content/models/forms/article.xml и попробуем снова.

Вставка любых символов и тэгов в заголовок статьи Joomla

Снова вводим наши спец.символы в поле заголовка материала и сохраняем изменения:

Вставка любых символов и тэгов в заголовок статьи Joomla

После сохранения, смотрим на тот заголовок, что сохранился. И он содержит введённые нами спец.символы, что и требовалось:

Заголовок материала Joomla содержит введённые нами спец.символы, что и требовалось

Для того, чтобы убедиться в том, что это не сон, смотрим в списке материалов Joomla. Всё в порядке:

смотрим в списке материалов Joomla.

Ну и в конечном счёте, смотрим на то, как выглядит заголовок статьи со спец.символами на сайте:

как выглядит заголовок статьи Joomla со спец.символами на сайте

Выводы

Таким образом, небольшой правкой в файле конфигурации компонента Joomla /administrator/components/com_content/models/forms/article.xml можно добиться того, что в заголовки материалов будут сохраняться специальные символы и даже HTML-теги, которые будут отображаться на сайте.

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню