Как вставить теги HTML в Joomla! название модуля?

То, что я пытаюсь сделать, – добавить некоторые HTML-теги в мой Joomla! названия модулей. Мне нужно что-то вроде этого

Some <b>Title</b> 

но при сохранении! Joomla урезает заголовки и удаляет все теги HTML.

Я проверяю администратора / com_content, который, я думаю, должен нести ответственность за вставку данных базы данных, но я не смог найти ответ там.

Может ли кто-нибудь помочь мне с этой головной болью?

    Проверьте ../templates/system/html/modules.php

    Вы можете создать структуру своего модуля в HTML.

     function modChrome_myCustomModule($module, &$params, &$attribs) { $doc =& JFactory::getDocument(); $css = ".otherClass {}"; $css .= ".yourClass {}"; $doc->addStyleDeclaration($css); ?> <div> <?php if ($module->showtitle != 0) : ?> <h1><?php echo $module->title; ?></h1> <?php endif; ?> // post your title </div> <div> <?php echo $module->content; ?> // post your module content </div> <?php } 

    Затем вызовите свой стилизованный модуль в index.php:

      <jdoc:include type="modules" name="right" style="myCustomModule" /> 

    Поэтому я нашел решения. Он включает оба предыдущих ответа, поэтому я помещаю здесь новый код с правильным кодом.

    Прежде всего, я должен сказать, что это решение работает только для фиксированного количества слов (последний, два и т. Д.). Мне нужно только иметь последний, поэтому я отправлю пример кода одним словом.

    Сначала, как SMacFadyen, мне нужно было создать новую структуру модуля в моей папке html шаблона: /templates/system/html/modules.php.

    Примечание. Если вы не хотите добавлять этот новый стиль модуля во все шаблоны, но только на одном из них вам нужно поместить файл module.php в папку html вашего шаблона.

    Предоставленный SMacFadyen выглядит следующим образом:

     function modChrome_myCustomModule($module, &$params, &$attribs) { $doc =& JFactory::getDocument(); $css = ".otherClass {}"; $css .= ".yourClass {}"; $doc->addStyleDeclaration($css); ?> <div> <?php if ($module->showtitle != 0) : ?> <h1><?php echo $module->title; ?></h1> <?php endif; ?> // post your title </div> <div> <?php echo $module->content; ?> // post your module content </div> <?php } 

    Затем истек по комментариям Hanny, я добавил некоторый php-код, чтобы соответствовать последнему слову названия и сохранить его в новой varibale. Код выглядит так:

     $wrap_tag = 'b'; $html_title = preg_replace("~\W\w+\s*$~", '<'.$wrap_tag.'>'.'\\0'.'</'.$wrap_tag.'>', $module->title); 

    Примечание: переменная $wrap_tag хранит тег, который вы хотите. Вы можете положить b, em, u и т. Д., Чтобы иметь другой результат.

    Последнее, что нужно было заменить отображаемый заголовок, поэтому я заменил этот код: <h1><?php echo $module->title; ?></h1> <h1><?php echo $module->title; ?></h1> с этим: <h1><?php echo $html_title; ?></h1> <h1><?php echo $html_title; ?></h1>

    Конечным результатом было следующее:

     function modChrome_myCustomModule($module, &$params, &$attribs) { $doc =& JFactory::getDocument(); $css = ".otherClass {}"; $css .= ".yourClass {}"; $wrap_tag = 'b'; $html_title = preg_replace("~\W\w+\s*$~", '<'.$wrap_tag.'>'.'\\0'.'</'.$wrap_tag.'>', $module->title); $doc->addStyleDeclaration($css); ?> <div> <?php if ($module->showtitle != 0) : ?> <h1><?php echo $html_title; ?></h1> <?php endif; ?> // post your title </div> <div> <?php echo $module->content; ?> // post your module content </div> <?php } 

    Спасибо всем за помощь.

    Рамка Gantry может помочь вам выполнить то, что вы хотите (1-е слово стилизовано в одну сторону, второе слово – другое), но много накладных расходов просто выполняет одну задачу, которую вы ищете. В конечном итоге вам придется создать переопределение шаблона для вашего шаблона, а затем сделать некоторое креативное редактирование с помощью php, чтобы оно отображалось таким образом.

    Нет быстрого и простого способа добиться этого. Вам нужно будет сделать некоторое кодирование php на бэкэнд и отредактировать шаблон (используйте переопределение, чтобы вы не взламывали основные файлы). В конечном итоге вам, вероятно, придется закодировать php, чтобы разделить заголовок и применить форматирование для каждого раздвинутого слова (или строки слов в зависимости от случая) с помощью CSS.

    Надеюсь, это поможет.