Меню

Часть 13: Расчистка шаблона каталога, вывод основного меню на сайт

Просмотров: 5997
Это архивное видео. В принципе вся информация актуальна, но рекомендуется смотреть новую версию:
Разработка проекта на 1С-Битрикс

Расчищаем шаблон каталога от не нужных данных, Разбираемся в функциях вызова в шаблонах каталога и еще раз, выводим меню через _ext

Все серии

Михаил Базаров 16.04.2016
Цитата
Катя написал:
Михаил, здравствуйте.  А как в вашем шаблоне каталога сделать так, чтобы детальная картинка появлялась во всплывающем окне? Я уже голову сломала, у меня только увеличивает картинку на странице карточки товара. В настройках элемента выбираю показывать в всплывающем окне, но ничего не происходит. Помогите, пожалуйста. Хотя бы куда мне смотреть и где копаться? Спасибо!
Нужно подключить fancybox или его аналог к сайту
Катя 17.04.2016
Цитата
Михаил Базаров пишет:
Цитата
Катя написал:
Михаил, здравствуйте. А как в вашем шаблоне каталога сделать так, чтобы детальная картинка появлялась во всплывающем окне? Я уже голову сломала, у меня только увеличивает картинку на странице карточки товара. В настройках элемента выбираю показывать в всплывающем окне, но ничего не происходит. Помогите, пожалуйста. Хотя бы куда мне смотреть и где копаться? Спасибо!
Нужно подключить fancybox или его аналог к сайту
Спасибо огромное!)
Артём Смирнов 08.05.2016
Приветствую вас Михаил! Прохожу все ваши уроки остановился здесь. Проблема в следующем при выводе _ext меню на сайт проходя по ссылке говорит что такой страницы не существует. Проверил все что можно дважды все снес и переделал заново. При выводе новостей проблем с _ext меню нет все работает как надо. Прошу подсказать в чем может быть проблема заранее Спасибо!
Михаил Базаров 08.05.2016
Цитата
Артём Смирнов написал:
Приветствую вас Михаил! Прохожу все ваши уроки остановился здесь. Проблема в следующем при выводе _ext меню на сайт проходя по ссылке говорит что такой страницы не существует. Проверил все что можно дважды все снес и переделал заново. При выводе новостей проблем с _ext меню нет все работает как надо. Прошу подсказать в чем может быть проблема заранее Спасибо!
Если только пути не правильно прописываете в _ext меню, больше, из более менее очевидных, причин не подскажу. настройки ЧПУ в _ext меню не совпадает с настройками к компоненте каталога
Артём Смирнов 08.05.2016
Цитата
Михаил Базаров пишет:
Цитата
Артём Смирнов написал:
Приветствую вас Михаил! Прохожу все ваши уроки остановился здесь. Проблема в следующем при выводе _ext меню на сайт проходя по ссылке говорит что такой страницы не существует. Проверил все что можно дважды все снес и переделал заново. При выводе новостей проблем с _ext меню нет все работает как надо. Прошу подсказать в чем может быть проблема заранее Спасибо!
Если только пути не правильно прописываете в _ext меню, больше, из более менее очевидных, причин не подскажу. настройки ЧПУ в _ext меню не совпадает с настройками к компоненте каталога
Вот так прописано в _ext


<?
 if(!defined("B_PROLOG_INCLUDED"  ;)  || B_PROLOG_INCLUDED!==true)die();
 global $APPLICATION;
 $aMenuLinksExt=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array(
 "IS_SEF" => "Y",
 "SEF_BASE_URL" => "/catalog/",
 "SECTION_PAGE_URL" => "#SECTION_CODE#/",
 "DETAIL_PAGE_URL" => "#SECTION_CODE#/#ELEMENT_CODE#/",
 "IBLOCK_TYPE" => "catalog",
 "IBLOCK_ID" => "4",
 "DEPTH_LEVEL" => "3",
 "CACHE_TYPE" => "A",
 "CACHE_TIME" => "36000000"
 ),
false
);
 $aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
?>



Настройка ЧПУ для инфоблока каталога


URL страницы информационного блока:
URL страницы раздела: #SECTION_CODE#/
URL страницы детального просмотра: #SECTION_CODE#/#ELEMENT_CODE#/
Канонический URL элемента:
Артём Смирнов 09.05.2016
Цитата
Артём Смирнов пишет:
Цитата
Михаил Базаров пишет:
Цитата
Артём Смирнов написал:
Приветствую вас Михаил! Прохожу все ваши уроки остановился здесь. Проблема в следующем при выводе _ext меню на сайт проходя по ссылке говорит что такой страницы не существует. Проверил все что можно дважды все снес и переделал заново. При выводе новостей проблем с _ext меню нет все работает как надо. Прошу подсказать в чем может быть проблема заранее Спасибо!
Если только пути не правильно прописываете в _ext меню, больше, из более менее очевидных, причин не подскажу. настройки ЧПУ в _ext меню не совпадает с настройками к компоненте каталога
Вот так прописано в _ext


<?
if(!defined("B_PROLOG_INCLUDED" || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$aMenuLinksExt=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array(
"IS_SEF" => "Y",
"SEF_BASE_URL" => "/catalog/",
"SECTION_PAGE_URL" => "#SECTION_CODE#/",
"DETAIL_PAGE_URL" => "#SECTION_CODE#/#ELEMENT_CODE#/",
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "4",
"DEPTH_LEVEL" => "3",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000"
),
false
);
$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
?>



Настройка ЧПУ для инфоблока каталога


URL страницы информационного блока:
URL страницы раздела: #SECTION_CODE#/
URL страницы детального просмотра: #SECTION_CODE#/#ELEMENT_CODE#/
Канонический URL элемента:
Добый день Михаил с Праздником вас! Проблема была своеобразная в "SEF_BASE_URL" => "/catalog/" этот URL был не правильным первый символ "с" оказался кирилическим и при замене его на "SEF_BASE_URL" => "/%D1%81atalog/" все заработало как надо! Подскажите где поправить данный символ  что бы все было как надо.
Михаил Базаров 09.05.2016
Цитата
Артём Смирнов написал:
Цитата
<?
if(!defined("B_PROLOG_INCLUDED" || B_PROLOG_INCLUDED!==true)die();
...
?>
Настройка ЧПУ для инфоблока каталога
URL страницы раздела: #SECTION_CODE#/
URL страницы детального просмотра: #SECTION_CODE#/#ELEMENT_CODE#/
Добый день Михаил с Праздником вас! Проблема была своеобразная в "SEF_BASE_URL" => "/catalog/" этот URL был не правильным первый символ "с" оказался кирилическим и при замене его на "SEF_BASE_URL" => "/%D1%81atalog/" все заработало как надо! Подскажите где поправить данный символ  что бы все было как надо.
Просто папку catalog перейменуйте нормально, с-кирилическую, замените на латинскую.
Станислав Мишин 25.07.2017
Здравствуйте, Михаил!

Очень нужен ваш профессиональный совет по структуре каталога (каталогов). Возможно я в своих суждениях по структуированию каталога буду излишне скурпулезен и зациклен, и проблема лежит на поверхности. Поэтому и нужен  ваш взгляд на проблему со стороны.

Дело в следующем: есть тип оборудования 1, тип оборудования 2. Оба они кардинально отличаются друг от друга по заданным "свойствам" в элементе инфоблока. Также данный каталог должен содержать еще два типа: запчасти и допоборудование. Они также отличаются по "свойствам" от всех элементов и друг от друга. Первое что мне пришло в голову - это внести все свойства в инфоблок "каталог" свойства всех элементов. Все хорошо, я получил единое выпадающее меню Каталог со структуированными разделами. Но на этом все хорошее закончилось. После вывода элемента "bitrix:catalog" пришло понимание ошибки в моем решении. Т.к. все не связанные друг с дугом свойства разнородных товаров выводятся в фильтре, по которым теперь трудно понять, что и как в этом каталоге выбрать.

В принципе я понимаю, что лучше создать отдельные разделы на сайте, т.е.: /оборудование1/, /оборудование2/, /запчасти/, /допоборудование/ и для них создать уникальные инфоблоки в типе "catalog", и соответственно выводить на сайт каждый в своем разделе с применением уникальных свойств. Но очень не хочется раздувать меню дополнительными разделами (возможно я ошибаюсь в корне), а хотелось бы уместить все это в одном разделе каталог. Я нашел на вашем сайте обсуждение похожей проблемы касающейся построения многоуровнего  меню из разных инфоблоков. Скорее всего из того, что я новичок, у меня это не заработало.

Посоветуйте как лучше сформировать структуру каталога и разделов с выводом разделов и элементов. И правильно ли мое решение с созданием отдельных разделов на сайте или я все усложняю  :) .

Спасибо за ваши уроки и вашу помощь и советы.
С уважением,
Станислав
P.S. - перед отправкой пришла в голову мысль, создать физические подразделы в разделе каталог и в них выводить уникальные инфоблоки, и в них же формировать файлы *menu_еxt.php для подгрузки в меню разделов каждого отдельно инфоблока. Теоретически я понимаю как это сделать, а вот с практикой сложнее. :)
Михаил Базаров 25.07.2017
Цитата
Станислав Мишин написал:
Т.к. все не связанные друг с дугом свойства разнородных товаров выводятся в фильтре, по которым теперь трудно понять, что и как в этом каталоге выбрать.

Где-то вот тут у вас ошибка. Умный фильтр должен (штатно) выводить свойства только текущего раздела. Он не выводит свойства которых нет в списке товаров конкретного раздела.

PS Да, городить несколько инфоблоков не очень оптимально. Хотя иногда приходится (на очень сложных структурах сайта. Не думаю, что это ваш случай- судя по описанию)
Станислав Мишин 25.07.2017
Михаил!

Я не использовал умный фильтр. Я использовал ваш дефолтный шаблон каталога. За что вам большое спасибо. Т.к. разбираться в шаблоне с кучей кода мне было-бы сложно.

Я понял вашу мысль. Хорошо, что есть возможность посоветоваться с вами. Спасибо.

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

Стоит ли заполнять свойства элементов инфоблока в его настройках или лучше это делать сразу из раздела?
Просто я обратил внимание, что список свойств не активен в режиме редактирования раздела, только можно добавить уникальное свойство.