Изображения для пунктов меню
- svetinet
- Автор темы
- Не в сети
- Новый участник
Подскажите пжл, как в джумле 3,5 вывести изображения для пунктов меню из спрайта?
Начал делать как в этой статье написано:
wedal.ru/uroki-joomla/dobavlenie-ikonok-punktam-menyu-joomla-prostoj-i-khoroshij-sposoby.html
Код CSS добавил в файл CSS шаблона.
Куда добавлять код HTML и в настройках пункта меню нужно ли потом указывать CSS-класс ссылки?
Подскажите и напрвьте на путь истенный.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
- Сообщений: 2868
- Спасибо получено: 659
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- svetinet
- Автор темы
- Не в сети
- Новый участник
Если я всё правильно понял, чтоб реализовать изображения из спрайта - делать нужно модуль HTML, а не модуль меню?
Мне вот генератор такой код подкинул:
xtml - код (я его никуда не добавлял)
Код CSS - добавил в CSS файл шаблона (на основе Protostar)
Я пробую реализовать через пункт меню. В настройках Параметры ссылки (там где добавляется изображение для пункта) я выключаю свою иконку,
а в пункте CSS-класс ссылки указываю: sprite sprite-item-101
В итоге получается, что буквы налазят на изображение.... (
Начинаю отодвигать буквы - вылазят другие иконки из спрайта.
Меню использую горизонтальное под шапкой. Шаблон Protostar
Настройки модуля:
position-1
Суффикс класса меню: nav-pills
Суффикс CSS-класса модуля: _menu
Размер иконок из спрайта 40х40px
Есть мысля пробелов на 40px в названии поставить, но думаю это не совсем хорошо.
Может что подскажите?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
- Сообщений: 2868
- Спасибо получено: 659
Нет, именно через модуль меню Joomla!Если я всё правильно понял, чтоб реализовать изображения из спрайта - делать нужно модуль HTML, а не модуль меню?
В принципе, вы все сделали правильно. Как я понял, проблема лишь в том, что текст ссылок наезжает на иконку спрайта. Дело тут вот в чем. Иконка спрайта, это как бы кусочек картины, который показывается через "глазок". Глазком выступает блок с фиксированными размерами, фон которого мы делаем изображением спрайта и сдвигаем его так, чтобы была видна иконка. Когда вы добавляете CSS-класс спрайта ссылке меню, то этим "глазком" становиться вся ссылка.
Есть 2 варианта:
1) Создать спрайт в котором все иконки будут выстроены в одну вертикальную линию. Сервис, кстати, по-моему, позволяет так делать. Дальше добавить CSS-классы иконок пунктам меню Joomla, как вы и сделали, и отодвинуть текст вбок. Другие иконки спрайта появляться не будут, т.к. они или выше или ниже, но не сбоку.
2) Переделать макет модуля меню mod_menu таким образом, чтобы поле CSS-класса ссылки стало полем CSS-класса иконки.
Кстати, такой подход очень хорошо работает и для иконочных шрифтов .
Но если вы не очень хорошо понимаете HTML и PHP, то лучше используйте первый способ.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- svetinet
- Автор темы
- Не в сети
- Новый участник
2) Переделать макет модуля меню mod_menu таким образом, чтобы поле CSS-класса ссылки стало полем CSS-класса иконки.
для ссылок не нужны отдельные CSS-классы, т.к. у каждого пункта меню есть уникальный класс, через который можно обратиться к ссылке, а вот для иконок они очень пригодятся. Проще говоря, каждый раз, когда CSS-класс у пункта меню заполнен, к пункту меню должна добавляться иконка с этим классом.Code:<i class="sprite sprite-item-101"></i>
Мне вот этот бы способ подошел бы, но мне нужны подсказки чтоб это реализовать. Я не совсем понял, что означает:
Переделать макет модуля меню mod_menu таким образом, чтобы поле CSS-класса ссылки стало полем CSS-класса иконки.
Первый способ, что Вы указали думаю тоже может выдавать ошибку, так как меню в две строки (как на wedal.ru), я ещё не пробывал, но подозреваю, что будет в нижней строке видно другие части спрайта. К тому же спрайт из иконок 40х40 может получиться слишком большой. Вроде бы у некоторых браузеров есть ограничения в размерах
К тому же у меня меню потом дублируется в вертикальной позиции с небольшими изменениями (position-7 по протостару). Хотелось бы всё одним спрайтом сделать. Для этого нужно правильно освоить метод вывода средствами джумлы.
Может где то сгенерированный код неправильный, если видны другие участки спрайта? или я что то неправильно указал??
Может код правильнеее так исправить:
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
- Сообщений: 2868
- Спасибо получено: 659
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.