1. Нужно убедиться что сайт корректно обрабатывает GET параметры и настроить композит, чтобы при вызове страницы с параметрами не создавался новый кэш. 2. Отредактировать js код шаблона компонента catalog.element , так чтобы при задании параметра (в примере pid) выбирался правильный SKU.
В стандартном шаблоне за выбор начального SKU отвечает функция SetCurrent. Кастомим её:
Код
window.JCCatalogElement.prototype.SetCurrent = function()
{
var i = 0,
j = 0,
strName = '',
arShowValues = false,
arCanBuyValues = [],
arFilter = {},
tmpFilter = [],
current = this.offers[this.offerNum].TREE,
//CUSTOM START
paramsUrl = window.location.search,
pidRegExp = new RegExp(/[?&]pid=(\d+)/),
pid = pidRegExp.exec(paramsUrl);
if (pid && pid[1]) {
for (i = 0; i < this.offers.length; i++)
{
if (this.offers[i].ID == pid[1]) {
current = this.offers[i].TREE;
}
}
}
//CUSTOM END
...
3. Редактируем скрипт выгрузки каталога для Яндекса. Yandex_run.php Меняем редактируем строку 1530. Добавляем параметр pid.