Как вывести цену в подробное описание?

Пожалуйста, подскажите, как можно прописать в HTML подробного описания товара цену {=this.catalog.price.4}. Как это прописать?
Нужно, чтобы в подробном описании выходило примерно так: Вы можете купить этот товар по цене.... руб.
Помогите плиз!
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
@PetrPo
В детальном описании пишешь текст текст текст ... Вы можете купить этот товар по цене #PRICE_1# руб. .... текст текст текст
#PRICE_1# - это макрос, в котором 1 - это ID нужного типа цены (тут по желанию можно и символьный код цены)

Если на примере простых товаров, код выглядит примерно так
if($arResult['DETAIL_TEXT']) {
	$arPrices = $aSearch = $aReplace = array();

	preg_match_all('/#PRICE_\d#/', $arResult['DETAIL_TEXT'], $matches);
	
	if($matches[0]) {
		$iterator = \Bitrix\Catalog\PriceTable::getList([
			'select' => ['CATALOG_GROUP_ID', 'PRICE', 'CURRENCY'],
			'filter' => ['PRODUCT_ID' => $arResult['ID']]
		]);

		while($row = $iterator->fetch()) {
			$arPrices[$row['CATALOG_GROUP_ID']] = CCurrencyLang::CurrencyFormat($row['PRICE'], $row['CURRENCY']);
		}
		
		$aSearch = $matches[0];
		
		foreach($aSearch as $key => $str) {
			$priceId = str_replace(['#', 'PRICE_'], '', $str);
			$aReplace[$key] = $arPrices[$priceId];
		}
		
		$arResult['DETAIL_TEXT'] = str_replace($aSearch, $aReplace, $arResult['DETAIL_TEXT']);
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы