Имею сайт с собственной темой на основе Zen.
Безумно понравились иконочные шрифты. Хочу поменять иконки из collapsed/expended на символы из Font Awesome. Т.к. в примере Font Awesome иконки присваивают через классы, я тоже попытался найти где меню присваиваются нужные классы. Но не нашел.
Вопрос:
1. или подскажите где искать collapsed/exposed и я добавлю им свои классы?
2. или может можно произвести "замену" классов друпала на классы шрифта с помощью css?
И еще на menu-path-front по аналогии.
Доп.инфа:
collapsed/exposed в боковом меню, которое выводит menu-block
menu-path-front верхнее меню выводит Nice menu
но что-то мне подсказывает, что они своих классов не добавляют, а все делается системными плагинами.
Комментарии
Можно поставить модуль Menu attributes.
похоже этот модуль все таки не то что надо.
Он задает глобально. Да и не вижу я его классов. Возможно Nice-menu и menu-block его игнорируют
Вопрос все еще стоит.
Вероятно оно должно решаться через переопределение функции
Я попытался на примере поэкспериментировать, но я не программист
Я хотел сделать сравнение класса на наличие collapsed и дописать свой класс соотвествующий font awesome. Но я не понимаю не синтаксис этих функций, не переменных, а знаний паскаля 10 летней давности не хватает.
Доковырялся до следующего
<?phpfunction entas_preprocess_menu_link(&$vars) {
$element = $vars['element'];
/* Замена collapsed. Начало */
if ($vars['element']['#attributes']['class'][1]||$vars['element']['#attributes']['class'][2] == 'collapsed')
{
$vars['element']['#attributes']['class'][] = 'icon-collapse-alt';}
/* Замена collapsed. Конец */
/* Замена expanded. Начало */
elseif ($vars['element']['#attributes']['class'][1]||$vars['element']['#attributes']['class'][2] == 'expanded')
{
$vars['element']['#attributes']['class'][] = 'icon-expand-alt'; }
/* Замена expanded. Конец */?>
Но.
Notice: Undefined offset: 2 в функции entas_preprocess_menu_link() (строка 237 в файле C:\xampp\htdocs\sites\all\themes\entas\template.php).
как я понимаю это [1] и [2] в коде. Возможно это и не правильно, но он подставляет иконки...
Правда второе условие "expanded" не срабатывает. Наверняка какая-то логическая ошибка в коде.
Помощь все еще нужна.
Оказывается можно и без классов. Достаточно знать юникодный код значка.
content: "\f0fe";
color: #DADADA;
display: inline-block;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
margin-left: 5px;
position: absolute;
left: 0;
margin-left: -5px;
font-size: 1.2em;
Собственно этот метод дает возможность и :after применить, в отличии от стандартного.