Добавить html в поле заголовка меню

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

Я хочу этот результат:

<li class="active">
 <a href="index.html">
  <i class="fa fa-dashboard"></i>
  Dashboard
 </a>
</li>

Когда я пытаюсь добавить <i class="fa fa-dashboard"></i> в поле заголовка меню, фильтр Joomla удаляет его.

Есть ли способ сохранить это и отобразить в модуле меню?

Спасибо.

6 голосов | спросил lucasm107 11 +04002014-10-11T01:02:20+04:00312014bEurope/MoscowSat, 11 Oct 2014 01:02:20 +0400 2014, 01:02:20

4 ответа


3

Как отметил @Valentin, переопределение меню - это правильный способ решить эту проблему. Однако, если вы не знакомы с переопределениями Joomla и PHP, быстрой альтернативой является использование RokCandy (или любой другой расширение фрагмента ). В принципе, эти плагины заменят ваш не-HTML-код кодом HTML, тем самым избегая фильтров Joomla.

Чтобы добиться того, что вы пытаетесь сделать с помощью RokCandy, создайте новый макрос:

Макро

[fa]{icon}[/fa]

HTML

<i class="{icon}"></i>

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

[fa]fa fa-dashboard[/fa] Dashboard

Наконец, вы должны установить поля Alias ​​ и Название страницы обозревателя (в разделе Отображение страницы ) в «Личный кабинет» (или что-то еще хотите), или ваш заголовок браузера будет [fa]fa fa-dashboard[/fa] Dashboard.

введите описание изображения здесь>> </p></body></html>

ответил johanpw 11 +04002014-10-11T04:43:17+04:00312014bEurope/MoscowSat, 11 Oct 2014 04:43:17 +0400 2014, 04:43:17
6

Если ваш шаблон поддерживает его, вы должны иметь числовые идентификаторы классов для каждого элемента меню. Если у вас это есть, или если вы можете добавить это в свой шаблон /меню, вероятно, безопаснее просто использовать CSS и таким образом стилизовать эти пункты меню.

Итак, если ваш пункт меню говорит, что класс 155, скорее всего, появится в строке li:

<li class="active item155">

Итак, опять же, следуя вашей структуре, вы бы сделали что-то подобное в своем CSS:

li.item155 a i:before {font-family:FontAwesome;content: "\f0ce";}

Где этот \ f0ce - это отличный шрифт для нужного вам символа.

Если у вас нет этих идентификаторов меню, вы можете выманить его с помощью li: nth-child (x), где x - это пункт меню в порядке от первого до последнего. Итак, чтобы создать пункт меню 3, вы выполните следующее:

li:nth-child(3) a i:before {font-family:FontAwesome;content: "\f0ce";}

Если вы используете это, я не уверен, как далеко он работает с браузерами, но это означает, что вам не нужно переоценивать вещь.

ответил Brian Peat 11 +04002014-10-11T06:08:04+04:00312014bEurope/MoscowSat, 11 Oct 2014 06:08:04 +0400 2014, 06:08:04
4

Нет, вам не нужно добавлять HTML в элемент меню. Иногда, когда Joomla удаляет материал для вас, это потому, что вы не должны этого делать (даже если это было намного проще).

Что вам нужно, это переопределение шаблона для mod_menu.

Подробнее о переопределении шаблонов в документации: Как переопределить вывод из Joomla! Ядро.

ответил Valentin Despa 11 +04002014-10-11T01:07:42+04:00312014bEurope/MoscowSat, 11 Oct 2014 01:07:42 +0400 2014, 01:07:42
1

Правильный способ достижения этого на самом деле самый простой и не требует плагинов или переопределений, просто добавьте класс значка в ссылку в опциях меню:

введите описание изображения здесь>> </p></body></html>

ответил Seth Warburton 13 +04002014-10-13T15:41:05+04:00312014bEurope/MoscowMon, 13 Oct 2014 15:41:05 +0400 2014, 15:41:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132