Всем привет!
v15.0.12
1. Нужно убедиться что сайт корректно обрабатывает GET параметры и настроить композит, чтобы при вызове страницы с параметрами не создавался новый кэш.
2. Отредактировать js код шаблона компонента catalog.element , так чтобы при задании параметра (в примере pid) выбирался правильный SKU.
В стандартном шаблоне за выбор начального SKU отвечает функция SetCurrent. Кастомим её:
3. Редактируем скрипт выгрузки каталога для Яндекса. Yandex_run.php Меняем редактируем строку 1530. Добавляем параметр pid.
При выполнении необходимо следовать всем правилам из курсов
Тестировал на сайте с включенным ЧПУ и Композитом.
Теперь хотелось бы узнать понравится ли такое решению Яндексу).
v15.0.12
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
... |
| Код |
|---|
$strOfferYandex .= "http://".$ar_iblock['SERVER_NAME'].htmlspecialcharsbx($arOfferItem["~DETAIL_PAGE_URL"].(strstr($arOfferItem['DETAIL_PAGE_URL'], '?') === false ? '?' : '&')."r1=<?echo \$strReferer1; ?>&r2=<?echo \$strReferer2; ?>&pid=". $arOfferItem["ID"] . "</url>\n"; |
При выполнении необходимо следовать всем правилам из курсов
Тестировал на сайте с включенным ЧПУ и Композитом.
Теперь хотелось бы узнать понравится ли такое решению Яндексу).
Не понимаю где и как писать - в программировании ноль. Научите, куда вносить коды, которые написал Кирилл.