Как в Битрикс, в товарах, где есть торговые предложения, при смене цвета, в url отображать ссылку (символьный код) а не get параметр?
Как в Битрикс, в товарах, где есть торговые предложения, при смене цвета, в url отображать ссылку (символьный код) а не get параметр?

Чтобы вместо этого get параметра была ссылка /belaya-emal-ma-15-30-kg
Эта ссылка будет браться из торгового предложения, это символьный код.
Куда мне капать, что смотреть?
Ответы (1 шт):
Автор решения: Muri
→ Ссылка
- в параметр SEF_URL_TEMPLATES каталога добавляем после element
"element" => "#SECTION_CODE#/#ELEMENT_CODE#/",
"offer" => "#SECTION_CODE#/#ELEMENT_CODE#/#OFFER_CODE#/",
- В шаблоне каталога создаем файл offer.php
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();
//$arResult['VARIABLES']['OFFER_CODE']
include 'element.php';
- в element.php передаем в параметры catalog.element
$arResult['VARIABLES']['OFFER_CODE']по аналогии с$arResult['VARIABLES']['ELEMENT_CODE'] - в шаблоне catalog.element (или в result_modifier.php) проверяем
$arParams['OFFER_CODE']. Если там не пусто, ищем в массиве$arResult['OFFERS']нужный оффер, берем индекс и передаем в$arResult['OFFERS_SELECTED'] - Меняем настройки чпу в инфоблоке торговых предложений на
#PRODUCT_URL#/#ELEMENT_CODE#/ - Дорабатываем catalog.element script.js так, чтобы он перезаписывал url c помощью History API или открывал новую страницу по клику на цвет.
