Видеоурок №5: создание меню

Версия 2013 Версия 2017
28177 |  100

Создаем основные разделы сайта. Рассказываю как устроены компоненты битрикс на примере меню. Копируем и верстаем шаблон компонента. Изучаем устройство файловой системы битрикс сайта.

Автору на кофе и печеньки!
  • Через Яндекс деньги
  • С банковской карты
  • С мобильного
Список всех серий
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей

Зарегистрироваться Войти
Напомнить пароль

Быстрая регистрация через соц.сеть:
Гость
Добрый день Михаил, спасибо за уроки.
Почему то при скачивании этого урока время урока показывает 3.30.28 а не  23.51 как видео записи на  youtube и урок не совсем коректно отображается в проигрывателе.

С уважением
Михаил Базаров
Цитата
Гость пишет:
Добрый день Михаил, спасибо за уроки.
Почему то при скачивании этого урока время урока показывает 3.30.28 а не 23.51 как видео записи на youtube и урок не совсем коректно отображается в проигрывателе.

С уважением
Да. Спасибо за найденную ошибку. Видео перезалил
Сергей
Здравствуйте, а подскажите как сделать чтоб определенный пункт меню (каталог товаров) показывался только для зарегистрированных пользователей?
Михаил Базаров
Цитата
Сергей пишет:
Здравствуйте, а подскажите как сделать чтоб определенный пункт меню (каталог товаров) показывался только для зарегистрированных пользователей?
Использовать ограничение прав на раздел в котором выводите нужный конетент. По идее без разницы что конкретно выводить, каталог, новости или просто страничку с текстом
Сергей
Спасибо большое за уроки, давно искал нечно подобное.
Ещё из небольших косяков - вы используете в верстке <b>, что уже устарело и считается нарушением валидности.
Михаил Базаров
Цитата
Сергей пишет:
Спасибо большое за уроки, давно искал нечно подобное.
Ещё из небольших косяков - вы используете в верстке <b>, что уже устарело и считается нарушением валидности.
Пожалуйста.
По поводу именно <b> не вижу смысла как-то иначе его осущевстлять. При использовании визуального редактора, все равно используется именно он. Так, что не избежно <b> на сайте будет и в больших количествах - если наполнять сайт будет обычный контент-менеджер.
С другой стороный, честно сказать впервые слышу это отностилено <b>. То что валидаторам не нравится? Ну и наплевать на них, самый лучший валидатор- это браузер. Если во всех, все выглядет так как задумывалось- не нужно париться с валидаторами...ну если сильно хочется только :) .  
Анна
Здравствуйте, Михаил!
Во-первых, спасибо за уроки, если бы не ваши уроки я бы на битрикс и не взглянула)
А теперь вопрос. У меня несколько типов страниц на сайте предполагается:
1 - страница ошибки 404 без верхнего и левого меню, например.
2 - страница каталога  с тремя меню: верхнее, нижнее и левое
3 - страница статей, новостей и т.п.
т е мне для каждого типа страниц необходимо создать свой шаблон?
Михаил Базаров
Цитата
Анна пишет:
У меня несколько типов страниц на сайте предполагается:
1 - страница ошибки 404 без верхнего и левого меню, например.
2 - страница каталога с тремя меню: верхнее, нижнее и левое
3 - страница статей, новостей и т.п.
т е мне для каждого типа страниц необходимо создать свой шаблон?
Зависит от верстки конечно, технически можно это решить включаемыми областями- просто подключат область с нужными типами меню в нужных местах. Либо использовать вот этот метод  http://camouf.ru/blog-note/439/ - например у меня на этом сайте так и реализовано: здесь боковая панель есть, а например в портфолио ее нет- просто применено условие "Если раздел /portfolio/ и все вложенные- то боковой панели нет"

Можно и тремя видами шаблонов Вашу задачку решить- но по мне так это излишество. С тремя шаблонами все равно достаточно трудоемко управляться.
Аня
Такой вопрос: хочу переделать стандартное левое меню, vertical_multilevel.
Делаю из него развернутое, стили заменила. Все хорошо работает,  только не нравится, что при выборе подпункта - родительский пункт тоже подсвечивается, как активный, не могу понять как это обойти.
Пробовала в шаблоне условие с [CHILD_SELECTED], но не получилось. Как бы условие задать, чтоб только активный пункт подсвечивался, или может вообще другой шаблон за основу брать?  
Михаил Базаров
Цитата
Аня пишет:
Такой вопрос: хочу переделать стандартное левое меню, vertical_multilevel.
Делаю из него развернутое, стили заменила. Все хорошо работает, только не нравится, что при выборе подпункта - родительский пункт тоже подсвечивается, как активный, не могу понять как это обойти.
Пробовала в шаблоне условие с [CHILD_SELECTED], но не получилось. Как бы условие задать, чтоб только активный пункт подсвечивался, или может вообще другой шаблон за основу брать?
Поэксперементируйте с условиям:

Код
 <?if ($arItem["DEPTH_LEVEL"] == 1):?>
 

и

Код
<?if($arItem["SELECTED"]):?>
 


То есть- если уровень такой-то,  должно произойти то-то.
Дмитрий
Спасибо за урок, очень полезно! Разрешите задать пару вопросов:
1. В момент когда вы создавали два типа меню, вы указали типы top и bottom. Эти два слова могут быть произвольными и в данном случае вы просто ими указывали на то, что это верхнее и нижнее меню, или же это ключевые слова, зарезервированные системой, которые указывают системе на то какой тип меню будет? Т.е. можно ли было написать top_menu или обязательно нужно top?
2. Почему выше меню по умолчанию стало горизонтальным? Когда вы получали код меню в визуальном редакторе (2:50) у вас в параметрах компонента было указано "шаблон компонента: вертикальное меню". Почему в итоге то меню,стало горизонтальным?
Аня
Цитата
Михаил Базаров пишет:
Цитата
Аня пишет:
Такой вопрос: хочу переделать стандартное левое меню, vertical_multilevel.
Делаю из него развернутое, стили заменила. Все хорошо работает, только не нравится, что при выборе подпункта - родительский пункт тоже подсвечивается, как активный, не могу понять как это обойти.
Пробовала в шаблоне условие с [CHILD_SELECTED], но не получилось. Как бы условие задать, чтоб только активный пункт подсвечивался, или может вообще другой шаблон за основу брать?
Поэксперементируйте с условиям:
Код
  <?if ($arItem["DEPTH_LEVEL"] == 1):?>
  
и
Код
 <?if($arItem["SELECTED"]):?>
  
То есть- если уровень такой-то, должно произойти то-то.
Это не помогло, но вывела массив и посмотрела, что при выделенном подпункте и у род.пункта SELECTED=1, и "не за что зацепиться", но так же просмотрела массив tree и он мне больше понравился)
его до ума довела) сижу довольная. 5 минут на передых и можно снова в бой, Спасибо Вам!
Гость сайта
Здравствуйте!
Я уже спрашивала у вас про шаблон (от 21-03-2014).
Вот с карточкой товара сложность.
Можно выводить левое меню, в которое из инфоблока типа Каталог товаров выводятся разделы и подразделы этого каталога, только на страницах каталога, но не выводить на странице товара? (т е в карточке товара). Как выводить его только на страницах каталога я разобралась (на страницах типа "доставка" и "контакты" я по условию не вывожу), а вот на в карточке товара как не выводить не представляю.
Михаил Базаров
Цитата
Гость сайта пишет:
Как выводить его только на страницах каталога я разобралась (на страницах типа "доставка" и "контакты" я по условию не вывожу), а вот на в карточке товара как не выводить не представляю.
Я бы наверное вывел меню в sections.php шаблона каталога. Посмотрите как это реализовано в стандартном шаблоне интернет-магазина, там реализовано -то что Вы хотите но с фильтром (выводится в разделах и подразделах каталога, и не выводится в товарах и в остальных разделах сайта)
Александр
Здравствуйте Михаил, спасибо за ваши уроки!
У меня возник вопрос по созданию выпадающего меню такого типа http://usefulscript.ru/collapsing_menu.php,
в интернете ничего толком не нашел.

Можете посоветовать какое-либо решения?
Заранее спасибо!
Михаил Базаров
Цитата
Александр пишет:

У меня возник вопрос по созданию выпадающего меню такого типа http://usefulscript.ru/collapsing_menu.php

Можете посоветовать какое-либо решения?
Заранее спасибо!
Прямо из этого же образца и сделайте. Просто интегрируйте эту верстку с компанентом "Меню"
Влад
При прохождении этого урока у меня возникла проблема... в Вашем видео после копирования компонента меню в папку default вы удаляете ненужные файлы, в частности style.css. При этом у Вас, как я понял, автоматически подхватились настройки стилей из файла template_style.css. У меня же после удаления файликов стили для меню просто слетели... (template_style.css менюшка не увидела). Подскажите, как поправить этот косяк? Эксперименты проводил на текущей версии битрикса (14.5)...
Михаил Базаров
Цитата
Влад пишет:
...У меня же после удаления файликов стили для меню просто слетели... (template_style.css менюшка не увидела). Подскажите, как поправить этот косяк? Эксперименты проводил на текущей версии битрикса (14.5)...
Ищите ошибку в верстке, возможно что-то, где-то перебивает стили или в наблоне меню забыли прописать нужный селлектор
Влад
Заново поставил битрикс, для чистоты эксперимента (исключения собственных ошибок) шаблон сайта в битрикс создал из вашего "болванчика", добавил меню, затем перенес компонент в папку defaul, удалил style.css из /home/bitrix/www/bitrix/templates/.default/components/bitrix/menu/top_menu - оформление меню тут-же исчезло. Возможно, настройки битрикса по дефолту в версии 14.5 другие, чем в версии 12.5? Я раскопал, например, такой параметр, как Оптимзация CSS > Объединять CSS-файлы (кажется, в версии 12.5 его не было). Может еще что-то изменилось с тех пор...

Насчет "в шаблоне меню забыли прописать нужный селлектор"- можно чуть подробнее? Вроде в видеоуроке у вас об этом ничего не говориться... просто копируем компонент, удаляем style.scc, как ненужный, и предполагаем, что теперь все оформление будет считываться из template_style.css
Михаил Базаров
Да нет, Оптимизация CSS идет еще толи из 9-ой, то ли из 10-ой версии.
Возможно что подключаете не тот шаблон меню, или внутри меню есть свои стили, или не тот вид меню. В общем, так можно долго разбираться, достаточно много мест где Вы могли ошибиться или недосмотреть. Мешать ничего не должно
Страницы: 1 2 3 4 5 След.

Простой сайт на битрикс:

Здесь выложен видеоурок по созданию сайта на системе управления 1С-Битрикс. Поэтапно создан сайт для вымышленной фирмы "Компьютерная техподержка".

В процессе создания сайта используются только штатные возможности битрикс "из коробки".

Исключительно возможностями битрикс создается и наполняется сайт.

Образец: comp-assistant.ru Плейлист на Плейлист на youtube

Случайные заметки из блога
Автогенерация символьных кодов разделов и элементов Битрикс

Иногда нужно создать символьные коды для разделов и элементов....

Подключение SSL на Битрикс виртуальная машина

Для некоторых сервисов, типа Яндекс Касса, требуется наличие...

Информация о заказах и содержимое корзины текущего пользователя.

В процессе разработки сайта могут понадобиться рецепты приведенные...

Умный фильтр на главной странице Битрикс

Достаточно редкая но востребованная задачка- это вывести компонент...

Почтовое событие на создание нового элемента инфоблока, через API

Иногда при разработке сайта требуется реализовать функционал...

Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт

Достаточно часто, при разработке сайтов на Битрикс, с интеграцией...

© 2011—2018 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.

Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой.
Политика конфеденциальности