К примеру есть сайт, который продает кровати. Кровати могут быть классическими и винтажными. Значится есть инфоблок "кровати", далее все кровати распределяются по двум разделам "классика" и "винтаж". По www.site.ru/catalog/krovati/ я вижу два раздела "классика" и "винтаж". В итоге конечная ссылка выглядит так - www.site.ru/catalog/krovati/classic/id Но кроватей не много, решили избавиться от разделов, что бы получить такое - www.site.ru/catalog/krovati/id По ссылки www.site.ru/catalog/krovati/ оно все так же пытается найти разделы, которых нет.
Подскажите пожалуйста, что упустил? Или избавиться от разделов не получится?
Рекомендую использовать компонент catalog.section у него есть возможность выводить все элемены если раздел в ссылке не указан. Для этого нужно указать параментр "SHOW_ALL_WO_SECTION" => "Y", при вызове компонента. По умолчанию этого параментра нету в списке, поэтому его нужно будет добавить руками.
@Тимур Благодарю за ответ. Использовал данный компонент. По www.site.ru/catalog/krovati/ получал список кроватей, но не могу провалится в карточку с подробным описанием. Все ссылки списка такого типа www.site.ru/catalog/krovati/id/, чего и добивались, но все они отображают что на www.site.ru/catalog/krovati/ Такое ощущение, что идентификаторы вообще не обрабатываются.
ЧПУ я видел у bitrix:catalog, у bitrix:catalog.section есть Шаблоны ссылок Там во втором поле (URL, ведущий на страницу с содержимым элемента раздела) прописал #SECTION_CODE#/#ELEMENT_CODE#/ (подглядел в каталоге, где есть чпу) Пробовал просто #ELEMENT_CODE#/, не помогло. Причем, раньше этого не было, после сохранения пропадала запись из настройки правил обработки адресов: Я уже и там пробовал повозиться. Условия перебрал: #^/catalog/krovati/# - так было при использование bitrix:catalog #^/catalog/krovati/\d+/?# - так попробовал по новому Компонент: bitrix:catalog.section Файл: /catalog/krovati/index.php
Получилось продвинуться, но как то все неправильно выглядит... Я создал еще одну подпапку /catalog/krovati/item/ И на этом уровне использовал bitrix:catalog.element Добавил правило для обработки адресов, избавившись от item в адресах. Теперь за место "страница не найдена" созерцаю "элемент не найден". Уже лучше, подглядел в запрос:
Код
SEL ECT BE.ID as ID
FR OM b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
WHERE 1=1
AND (
((((BE.IBLOCK_ID = '20'))))
AND (
EXISTS (
SELECT IBLOCK_ID FR OM b_iblock_site WH ERE IBLOCK_ID = B.ID AND (((SITE_ID='s1')))
)
)
AND ((((B.ACTIVE='Y'))))
AND ((
(BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL)
))
AND ((((BE.ACTIVE='Y'))))
AND ((((BE.CODE = 'SECTION_CODE'))))
)
AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
Цитата
AND ((((BE.CODE = 'SECTION_CODE'))))
SECTION_CODE берется из Основные параметры->Код элемента в визуальном редакторе. Я пробовал и #SECTION_CODE#, безрезультатно, тупо подставляется все то что в этом поле. Тогда я прописал известный код, и увидел страницу с подробным описанием.
1. Если продолжит текущую реализацию, то как передать код элемента? 2. Получилось сложновато, может все же можно проще? Подправить под себя bitrix:catalog?
Из сообщения выше UPD не брать во внимание. Не понял почему такой запрос построился, но я пытался передать ELEMENT_ID через слеши, поле код вообще было пустым.
В общем я пошел по пути использования двух компонентов, раз через один не хватает скилов. Смог получить детальный просмотр по ссылки www.site.ru/catalog/krovati/?item=id Но хочется ввиде ЧПУ. При таком раскладе в bitrix:catalog.element->Основные параметры->ID элемента == ={$_REQUEST["item"]} Я пробовал всяко: ={ELEMENT_ID}, ={#ELEMENT_ID#}, #ELEMENT_ID#, ELEMENT_ID, но ЧПУ добиться не смог.
По молчанию предполагаю, что мои хотелки выходят за рамки функционала. Но я все же надеюсь, что кто то решал такую проблему и поделиться хотя бы идеей реализации. Как я вижу выход из проблемы: 1. Создаю одну группу и все товары помещаю туда. 2. Дублирую шаблон в свое пространство. С помощью JS делаю редирект в единственный каталог.
Остается одно НО - как быть с хлебными крошками? Вижу единственный выход - создать грамотные названия, способствующих сео.
Вам предложили подходящее решение с catalog.section. Ссылки, хлебные крошки можно без проблем запрограммировать, если что-то не получается штатно. Попробуйте еще раз обратиться к документации, не должно быть никаких проблем с этим.