Интернет-агентство Александра Лырмина
Сайты на Битрикс от профессионала
с 15-ти летним опытом

Как добавить свойство цвет в url (ЧПУ) товара в Битрикс

Как добавить свойство цвет в url (ЧПУ) товара в Битрикс

Как-то попросили меня доработать ЧПУ в Битрикс, чтобы в каталоге в url можно было указать цвет товара из торгового предложения, например www.site.ru/catalog/razdel/tovar/cvet.html так же необходимо было чтобы менялся H1 и Title. Ниже описано как я решил данную задачу.

1. Установил Битрикс Бизнес
2. Уточнил пример ссылки. Для обработки ссылки решил использовать комплексный компонент
3. Перенёс шаблон сайта в /local/
4. Выполнять задачу решил непосредственно в каталоге товаров /catalog/, скопировал шаблон
5. В файле .parameters.php прописал дополнительньные параметры:
5.1. Для ЧПУ, прописал страницу "sku_element" это для адресов в которых есть свойство цвет. Создал соответветствующий файл, в него добавил include на element.php. Таким образом достаточно добавить нужные условия в element.php для обработки свойства ТП. #SKU_PROPERTY_VALUE# добавляется в конце URL.
5.2. Добавил выбор свойства ТП SKU_PROPERTY (содержит код свойства ТП), которое будет обрабатываться и добавляться в конце.
6. В element.php прописал код https://yadi.sk/d/zz96IE2j3RpcZb для обработки данных в компоненте bitrix:catalog.element.
7. Для компонента bitrix:catalog.element:
7.1. Прописал параметры SKU_PROPERTY_VALUE (содержит значение свойства ТП из URL) и SKU_PROPERTY (содержит код свойства ТП). Так же добавил условие отключения title страницы компонентом: ['SET_TITLE'] = 'N', поскольку для установки title через $APPLICATION->SetTitle(); необходимо отключить установку Title компонентом.
7.2. В result_modifier.php добавил блок обработки SKU_PROPERTY_VALUE и SKU_PROPERTY, для выбора ТП по умолчанию. Выбирается первый попавшийся цвет. Добавил в $arResult['JS_OFFERS'] ссылку на ТП в поле DETAIL_PAGE_URL. 
7.3. В component_epilog.php добавил установку title https://yadi.sk/d/CXS2ejlk3Rpdbe
7.4. В script.js прописал указание H1, title, смену URL: https://yadi.sk/d/QirDKhCs3Rpdea и функцию необходимую для смены URL: https://yadi.sk/d/1Jzt9l-Q3RpdhU
8. Прописал для каждого ТП свой заголовок.
Возврат к списку