22# Навигационная цепочка (breadcrumb) | Видеокурс: Создание сайта на 1С Битрикс

Автор Nadezhda Belousova
22# Навигационная цепочка (breadcrumb) | Видеокурс: Создание сайта на 1С Битрикс

Всем привет.

Меня зовут нохрина. Виталий iata канал яковер в этом видео мы интегрируем навигационную цепочку то есть сделаем так чтобы она строилась динамический для каждой стране также мы рассмотрим компонент при помощи которого — это можно сделать который называется breadcrumbs. И я покажу все способы как можно добавлять новые пункты в эту навигационную цепочку.

Давайте начнём для начала.

Нам необходимо на тестовой странице разместить компонент поэтому перейдем на неё и размести на ней компонент навигационная цепочка сохраним и. Давайте теперь настроем этот компонент у него настроек немного шаблон пока, что оставим дефолтный — это указывает какой странице мы будем строить навигационную цепочку то есть если указано то она будет стоить от корня сайта и например для страницы, а нас она будет состоять из ссылки на главную и ссылки на страницу. А нас, а если же мы укажем здесь единицу то на цепочку попадёт только ссылка на страницу. У нас главный там не будет мы же будем строить её от корня поэтому оставим 0 дальше идёт настройка путь для которого будет по навигационная цепочка. Если честно я не особо понял. В чём смысл этой настройки и как она работает даже посмотрев. Исходный код то есть по-моему она работает не совсем логично. Если же вы разберетесь то можете её использовать для нашего же случая когда надо строить навигационную цепочку для текущего пути надо — это поле оставлять пустым и если у нас. Несколько сайтов на одной лицензии битрикса из сайта лежат в разных папках то, тогда нам необходимо у компонента выбрать сайт в данном случае — это не обязательно, но других вариантов у нас нету при настройке таким способом нажмем сохранить и теперь нам необходимо скопировать шаблон этого компонента назови навигейт и сразу применим. Всё теперь нам необходимо интегрировать верстку данного шаблона overscan можно взять прямо exhorder PHP она у нас лежит вот здесь и вот у нас появилась папка с шаблонами компонента breadcrumb. И кстати по-другому вот эту строку навигации называют хлебные крошки здесь немного специфичны шаблон. То есть он работает. Так, что html-код собирается в и затем шаблон возвращает эту стройку шаблон этого компонента строится таким образом потому, что в этом компоненте используется технология отложенных функций этот функционал в том, что допустим у нас в хедере выводится. Вот — это цепочка навигации, а пункты для неё мы можем задать. После её вывода то есть пункты мы можем задать например в этом компании то есть как вы понимаете в обычном случае. Нам необходимо сначала задать все пункты, а потом только вывести потому, что на момент вывода они должны быть все определены. А здесь делается немного наоборот для этого в битриксе. А вот реализован этот функционал и в двух словах. Как работает. Битрикс при выводе странице помещает её в. То есть все системы складывает грубо говоря в какую-то переменную и в тех местах где необходимо вывести компоненты или надписи которые будут заданы при помощи технологии отложенных функций она помещаются хэштеги можно сказать и потом когда уже все вот этих например навигационной цепочки заданы они собираются в определенную переменную из этой переменной уже поставляются в собранном HTML и потом уже вот этой системы отдается браузеру — это накладывает определенные ограничения и примерно поэтому необходимо формировать шаблон компонента примерно таким образом конечно — это можно избежать другими костылями способ. Ну я предлагаю поступить ровно также. Как — это сделано сейчас готового шаблона интегрирован и давать его немножко рассмотрим во-первых я добавил комментарии с определением переменных чтобы печки шторм не ругался на то, что тут нету, а дальше оставил проверку если вообще элементы в. Орле Залкин. Ну то есть если элементы для вывода в этой навигационной цепочки и если их нету то возвращаю пустую строку. А как вы помните этот компонент должен возвращать строку shtml. А дальше я просто вывожу HTML каркас можно сказать вот эти и вот эти строчки, а здесь я выложу сами пункты также в этой строчке реализовал чтобы для последнего элемента не выводилось ссылка для неё чтобы выводился, а пустой. Якорь который будет вести на текущую вообще можно было сделать так чтобы ссылка не выводилось в таком случае, но я решил, что можно сделать и так. Теперь давайте посмотрим, что получилось чтобы он как бы не отобразил ся. Но на самом деле его потому, что просто шрифт текста белый вот на самом деле он есть и теперь давайте перенесём вызов компонента стартовой страницей в хедер вместо верстки и теперь например вот на странице у нас. Мы видим, что у нас здесь погрузился компонент новый водит столько главная страница. А — это будет потому, что для данной. Страницы или для данного раздела не задан пункт навигационной цепочки как — это можно сделать для этого есть несколько способов первый — это так как мы находимся в разделе about то нам необходимо для него создать файл с текстом PHP и в нём определить переменную S и атаки пункт автоматически добавится. И для него будет вычислено ссылка, но так как этот пункт является последним в списке то ссылка не выводится. Это был первый способ старым так сейчас за комментирую до пункта пропал второй способ — это добавить элемент прямо на странице то есть воспользоваться методом — это чей — это первым параметром на него надо передать то, что у нас должно выводиться например. А нас опять же остальным параметрам ссылку на элемент снова добавился чтобы не задавать эти надписи на каждой странице вручную можно воспользоваться функцией applications титул чтобы например название пункта навигация сбросе стойло для физических страниц адрес можно определить при помощи.

0 комментариев
0

Читайте также