Как выводить описание торгового предложения Битрикс, вместо описания основного товара?

Добрый день!
Вопрос вроде простой, вроде нет.

Каталог Битрикс, типовой.
Есть товар. У него есть описание. Оно выводится при открытии товара.
У товара есть торговые предложения (цвет, размер) и так же есть свое описание в "детальном описании" для каждого ТП.

Возможно сделать как то, что бы при выборе ТП, что бы менялось описание? Аналогично как меняются характеристики
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@PetrPo
На примере стандартного шаблона:
1. В index.php своего каталога проверь, чтобы в параметре DETAIL_OFFERS_FIELD_CODE был отмечен DETAIL_TEXT
2. Файл template.php
- в самом начале есть массив $itemIds добавь в него
'DESCRIPTION' => $mainId.'_description',
- найди где выводится детальный текст (ориентир data-value="description" и $arResult['DETAIL_TEXT']) и оберни в div-ку
<div id="<?=$itemIds['DESCRIPTION']?>"><?=$arResult['DETAIL_TEXT_TYPE'] === 'html' ? $arResult['DETAIL_TEXT'] : '<p>'.$arResult['DETAIL_TEXT'].'</p>';?></div>

- найди где-то в конце есть
if ($haveOffers)
{
//...................
	foreach ($arResult['JS_OFFERS'] as $ind => &$jsOffer)
	{

внутри цикла добавь (код ниже примерный, типа если у ТП есть описание то его берем, если нет то с основного товара, ты можешь подправить как тебе надо)
$jsOffer['DETAIL_TEXT'] = (isset($arResult['OFFERS'][$ind]['DETAIL_TEXT']) && $arResult['OFFERS'][$ind]['DETAIL_TEXT'] ? $arResult['OFFERS'][$ind]['DETAIL_TEXT'] : $arResult['DETAIL_TEXT']);

3. Файл script.js
- нади функцию
changeInfo: function()
- в этой функции ближе к концу, где идет установка данных через функции, типа
this.setPrice();
добавь свою функцию, например так
this.setDetailText(this.offers[index].DETAIL_TEXT);

- ну и прямо после функции changeInfo опиши свою функцию
setDetailText: function(text) {
	if(typeof(this.visual.DESCRIPTION) !== 'undefined') {
		BX.adjust(BX(this.visual.DESCRIPTION), {html: text});
	}
},
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Конечно можно, выведите в скрытых div'ах детальные описания, переопределите колбэк клика по переключателю sku и показывайте нужный вам контент
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы