Кстати про кеширование в меню, уже даже общался с ТП по этому поводу, у всех при включеном кешировании запросы в компоненте меню все равно присутствуют? И раз уж мы там, у всех суммарное кол-во запросов от компонентов НЕ совпадает с "Всего SQL запросов"
Но, отображение 1 товара в разных разделах не корректно отображается в ссылке. Только 1 раздел отображается например корм в разделе кошки и в разделе собаки тоже урл кошки, и так во всех разделах, может кто уже столкнулся как это можно вылечить?
Какая замечательная тема! Прошло полтора года, но ЧПУ с SECTION_CODE_PATH до сих пор не реализовано до конца, в частности catalog.section.top в отличии от других компонентов catalog.* выводит не всю цепочку разделов, а только верхний раздел. Разработчики упорно не хотят признавать это ошибкой (тикет №516678 ), утверждая, что так и должно быть. Призываю в тему Юрия Волошина, который несколькими сообщениями выше доказывал, что "все заявленное работает" и просил реальные примеры настроек и трудностей, с которыми сталкивались при работе.
Владимир Марцуль написал: Какая замечательная тема! Прошло полтора года, но ЧПУ с SECTION_CODE_PATH до сих пор не реализовано до конца, в частности catalog.section.top в отличии от других компонентов catalog.* выводит не всю цепочку разделов, а только верхний раздел. Разработчики упорно не хотят признавать это ошибкой (тикет №516678 ), утверждая, что так и должно быть. Призываю в тему Юрия Волошина, который несколькими сообщениями выше доказывал, что "все заявленное работает" и просил реальные примеры настроек и трудностей, с которыми сталкивались при работе.
Здравствуйте, столкнулся с серьезной проблемой, хотел вывести Kombox: Умный фильтр на главную страницу, ну проблема в том, что такого модуля нет...Тут все прочитал http://filter.kombox.ru/docs/course/?COURSE_ID=1&TYPE=Y#LE17 только толку то, если фильтр отсутствует....
Ну и? На дворе апрель 2015, версия инфоблока самая новая, а проблема такая же - дублирование элементов и отсутствие название раздела в ссылке из корня.
Олег написал: Ну и? На дворе апрель 2015, версия инфоблока самая новая, а проблема такая же - дублирование элементов и отсутствие название раздела в ссылке из корня.
На дворе июль 2016, а некоторые проблемы с ЧПУ так и остаются нерешенными. В частности, так называемое "дублирование элементов". А точнее неадекватный выбор элемента компонентом bitrix:catalog.element в составе комплексного компонента bitrix:catalog в ситуации, когда в разных разделах каталога есть товары с одинаковыми символьными кодами. Если таких товаров, например, четыре на весь каталог, то для всех четырех карточек товара будет отображаться одно и тоже содержимое с тем товаром, который попался в базе первым из числа этих четырех. Ситуация вовсе не надуманная, на моей практике встретилась ситуация, когда в одном случае таких товаров получилось восемь на весь каталог. И на всех восьми урлах одинаковое содержимое. Т.е. для какого-то одного урла содержимое подходящее, а для остальных семи карточек оно уже не подходит.
Но, тем не менее, к июлю 2016 в составе продукта уже есть функции, которые позволят с минимальным программированием внутри шаблонов залатать эту дыру. Итак, описанную проблему можно решить следующим образом.
Решение приведено для ситуации, когда сначала срабатывает комплексный компонент bitrix:catalog, и он по шаблону урла (который включает #SECTION_CODE_PATH# и #ELEMENT_CODE#) адекватно определяет, что это карточка товара и далее вызывает подшаблон element.php с компонентом bitrix:catalog.element. Вот в этом самом шаблоне element.php комплексного компонента нужно непосредственно перед самым вызовом компонента bitrix:catalog.element вставить следующий код:
В этой заплатке проблема адекватного поиска нужного элемента решается дополнительным третьим параметром метода CIBlockFindTools::GetElementID, которому передается точный идентификатор раздела SECTION_ID, в котором находится элемент. А точный идентификатор раздела в свою очередь определяется чудесным методом CIBlockFindTools::GetSectionIDByCodePath по тому самому пресловутому символьному пути раздела, возвращаемому от комплексного компонента. Все это по логике здравого смысла должно происходить внутри компонента bitrix:catalog.element, которому дополнительно должен передаваться символьный путь раздела. Но там определение элемента происходит лишь по одному только символьному коду ELEMENT_CODE. Отсюда и проблема.
Дополнительно добавлена отработка 404-й страницы, на случай, если в данном разделе не найден элемент с таким символьным кодом (например, элемент сделали неактивным, а из поисковиков по этому урлу по прежнему есть заходы). Т.к. иначе снова будет задействован поиск элемента внутри bitrix:catalog.element и снова будет неадекватное определение элемента.
Олег написал: Ну и? На дворе апрель 2015, версия инфоблока самая новая, а проблема такая же - дублирование элементов и отсутствие название раздела в ссылке из корня.
На дворе июль 2016, а некоторые проблемы с ЧПУ так и остаются нерешенными. В частности, так называемое "дублирование элементов". А точнее неадекватный выбор элемента компонентом bitrix:catalog.element в составе комплексного компонента bitrix:catalog в ситуации, когда в разных разделах каталога есть товары с одинаковыми символьными кодами. Если таких товаров, например, четыре на весь каталог, то для всех четырех карточек товара будет отображаться одно и тоже содержимое с тем товаром, который попался в базе первым из числа этих четырех. Ситуация вовсе не надуманная, на моей практике встретилась ситуация, когда в одном случае таких товаров получилось восемь на весь каталог. И на всех восьми урлах одинаковое содержимое. Т.е. для какого-то одного урла содержимое подходящее, а для остальных семи карточек оно уже не подходит.
Но, тем не менее, к июлю 2016 в составе продукта уже есть функции, которые позволят с минимальным программированием внутри шаблонов залатать эту дыру. Итак, описанную проблему можно решить следующим образом.
Решение приведено для ситуации, когда сначала срабатывает комплексный компонент bitrix:catalog, и он по шаблону урла (который включает #SECTION_CODE_PATH# и #ELEMENT_CODE#) адекватно определяет, что это карточка товара и далее вызывает подшаблон element.php с компонентом bitrix:catalog.element. Вот в этом самом шаблоне element.php комплексного компонента нужно непосредственно перед самым вызовом компонента bitrix:catalog.element вставить следующий код:
В этой заплатке проблема адекватного поиска нужного элемента решается дополнительным третьим параметром метода CIBlockFindTools::GetElementID , которому передается точный идентификатор раздела SECTION_ID, в котором находится элемент. А точный идентификатор раздела в свою очередь определяется чудесным методом CIBlockFindTools::GetSectionIDByCodePath по тому самому пресловутому символьному пути раздела, возвращаемому от комплексного компонента. Все это по логике здравого смысла должно происходить внутри компонента bitrix:catalog.element, которому дополнительно должен передаваться символьный путь раздела. Но там определение элемента происходит лишь по одному только символьному коду ELEMENT_CODE. Отсюда и проблема.
Дополнительно добавлена отработка 404-й страницы, на случай, если в данном разделе не найден элемент с таким символьным кодом (например, элемент сделали неактивным, а из поисковиков по этому урлу по прежнему есть заходы). Т.к. иначе снова будет задействован поиск элемента внутри bitrix:catalog.element и снова будет неадекватное определение элемента.