Ну и? На дворе апрель 2015, версия инфоблока самая новая, а проблема такая же - дублирование элементов и отсутствие название раздела в ссылке из корня.
14.04.2015 10:30:24
Ну и? На дворе апрель 2015, версия инфоблока самая новая, а проблема такая же - дублирование элементов и отсутствие название раздела в ссылке из корня.
|
|
|
|
12.07.2016 15:35:40
На дворе июль 2016, а некоторые проблемы с ЧПУ так и остаются нерешенными. В частности, так называемое "дублирование элементов". А точнее неадекватный выбор элемента компонентом bitrix:catalog.element в составе комплексного компонента bitrix:catalog в ситуации, когда в разных разделах каталога есть товары с одинаковыми символьными кодами. Если таких товаров, например, четыре на весь каталог, то для всех четырех карточек товара будет отображаться одно и тоже содержимое с тем товаром, который попался в базе первым из числа этих четырех. Ситуация вовсе не надуманная, на моей практике встретилась ситуация, когда в одном случае таких товаров получилось восемь на весь каталог. И на всех восьми урлах одинаковое содержимое. Т.е. для какого-то одного урла содержимое подходящее, а для остальных семи карточек оно уже не подходит. Но, тем не менее, к июлю 2016 в составе продукта уже есть функции, которые позволят с минимальным программированием внутри шаблонов залатать эту дыру. Итак, описанную проблему можно решить следующим образом. Решение приведено для ситуации, когда сначала срабатывает комплексный компонент bitrix:catalog, и он по шаблону урла (который включает #SECTION_CODE_PATH# и #ELEMENT_CODE#) адекватно определяет, что это карточка товара и далее вызывает подшаблон element.php с компонентом bitrix:catalog.element. Вот в этом самом шаблоне element.php комплексного компонента нужно непосредственно перед самым вызовом компонента bitrix:catalog.element вставить следующий код:
Далее идет штатный вызов компонента bitrix:catalog.element, который оставляется без изменений:
Для других ситуаций возможно потребуются правки. В этой заплатке проблема адекватного поиска нужного элемента решается дополнительным третьим параметром метода Дополнительно добавлена отработка 404-й страницы, на случай, если в данном разделе не найден элемент с таким символьным кодом (например, элемент сделали неактивным, а из поисковиков по этому урлу по прежнему есть заходы). Т.к. иначе снова будет задействован поиск элемента внутри bitrix:catalog.element и снова будет неадекватное определение элемента. |
|||||||
|
|
30.11.2016 09:57:09
|
|||||||||
|
|
||||||||