Здравствуйте.
Есть сайт ИМ. В настройках инфоблока товаров адресация прописана так #SITE_DIR#/catalog/ - инфоблок, #SITE_DIR#/catalog/#SECTION_CODE#/ - раздел, #SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/ - товар
При вызове компонента bitrix:catalog на странице /catalog/ соответственно прописано:
В urlrewrite:
Разделы могут содержать в себе подразделы с товарами. Собственно, в чем проблема.
Когда выхожу на раздел, у которого нет дочерних разделов - вижу список товаров и могу без проблем пройти на детальную нужного товара. Но если у раздела есть дочерние разделы, то при выходе на этот раздел вижу все товары всех дочерних разделов текущего. И когда пытаюсь пройти на детальную любого товара - выдает 404 ошибку. А если выхожу на товар из непосредственного раздела-родителя товара - то все норм.
Попробую на пальцах:
1) есть раздел "Вода", в нем нет дочерних разделов и сразу идут товары. Например "Архыз" принадлежит "Вода" непосредственно. И если я из списка товаров раздела "Вода" попробую перейти в "Архыз" - все норм
2) А есть раздел "Воды" (не путать с "Вода"). Тут есть дочерние разделы "Соки" и "Лимонады". И уже в них товары. Например, "Буратино" принадлежит "Лимонады". Выхожу на раздел "Воды" - тут сразу вижу все товары и из раздела "Соки" и из раздела "Лимонады". Так вот если кликну по тому же "Буратино" здесь - 404 ошибка, а если уже войду в раздел "Лимонады" и кликну по "Буратино" - то все норм.
Что случилос - не пойму. Может подскажет кто что по такой проблеме?
PS проблема упирается в разный результат detail_page_url у товара. То есть берется тот раздел в месте "SECTION_CODE", в котором сейчас нахожусь, а не родительский. Пробовал с SECTION_CODE_PATH (и в инфоблоке, и в компоненте) - та же фигня. Если в родителе - путь полный и правильный (типа vody/limonady/buratino), а если в верхнем разделе - то путь только от него (vody/buratino).
PPS скажу сразу, все работало, но кто-то что-то подкрутил без моего ведома, и теперь концов не сыскать. Никто не сознается:(
Есть сайт ИМ. В настройках инфоблока товаров адресация прописана так #SITE_DIR#/catalog/ - инфоблок, #SITE_DIR#/catalog/#SECTION_CODE#/ - раздел, #SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/ - товар
При вызове компонента bitrix:catalog на странице /catalog/ соответственно прописано:
Код |
---|
... "SEF_FOLDER" => "/catalog/", "SEF_URL_TEMPLATES" => array( "sections" => "", "section" => "#SECTION_CODE#/", "element" => "#SECTION_CODE#/#ELEMENT_CODE#/", "compare" => "compare.php?action=#ACTION_CODE#", "smart_filter" => "#SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/", ), ... |
Код |
---|
array( "CONDITION" => "#^/catalog/#", "RULE" => "", "ID" => "bitrix:catalog", "PATH" => "/catalog/index.php", ), |
Когда выхожу на раздел, у которого нет дочерних разделов - вижу список товаров и могу без проблем пройти на детальную нужного товара. Но если у раздела есть дочерние разделы, то при выходе на этот раздел вижу все товары всех дочерних разделов текущего. И когда пытаюсь пройти на детальную любого товара - выдает 404 ошибку. А если выхожу на товар из непосредственного раздела-родителя товара - то все норм.
Попробую на пальцах:
1) есть раздел "Вода", в нем нет дочерних разделов и сразу идут товары. Например "Архыз" принадлежит "Вода" непосредственно. И если я из списка товаров раздела "Вода" попробую перейти в "Архыз" - все норм
2) А есть раздел "Воды" (не путать с "Вода"). Тут есть дочерние разделы "Соки" и "Лимонады". И уже в них товары. Например, "Буратино" принадлежит "Лимонады". Выхожу на раздел "Воды" - тут сразу вижу все товары и из раздела "Соки" и из раздела "Лимонады". Так вот если кликну по тому же "Буратино" здесь - 404 ошибка, а если уже войду в раздел "Лимонады" и кликну по "Буратино" - то все норм.
Что случилос - не пойму. Может подскажет кто что по такой проблеме?
PS проблема упирается в разный результат detail_page_url у товара. То есть берется тот раздел в месте "SECTION_CODE", в котором сейчас нахожусь, а не родительский. Пробовал с SECTION_CODE_PATH (и в инфоблоке, и в компоненте) - та же фигня. Если в родителе - путь полный и правильный (типа vody/limonady/buratino), а если в верхнем разделе - то путь только от него (vody/buratino).
PPS скажу сразу, все работало, но кто-то что-то подкрутил без моего ведома, и теперь концов не сыскать. Никто не сознается:(