Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Поисковая выдача

00 голосов
2
Собственно вопрос в описании темы, но на всякий случай повторюсь: Как добавить к поисковой выдаче товаров цену для каждого товара и кнопку в корзину.
Пытался добавить цену к поисковой выдачи товаров, но что-то не работает. Хотел сделать по аналогии с модулем каталога в шаблон поискового модуля search.page добавил блок:
Код
<!--Цена-->
<div class="catalog-detail-price">
<?
foreach ($arResult["PRICES"] as $code => $arPrice):
    if ($arPrice["CAN_ACCESS"]):
        ?>
                            <label>Цена:</label>
                            
                            <? if ($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]): ?>
                                    <span class="catalog-detail-price"><?= $arPrice["PRINT_DISCOUNT_VALUE"] ?></span> <s><?= $arPrice["PRINT_VALUE"] ?></s>
                            <? else: ?>
                                <span class="catalog-detail-price"><?= $arPrice["PRINT_VALUE"] ?></span>
                            <? endif; ?>
 
                            <?
                            break;
                        endif;
                    endforeach;
                    ?>
                </div>
<!--Цена-->

Но что-то он не работает. Посмотрел что написано в модуле каталога в result_modifier.php, но там ничего не нашел связанного с ценой.
Заранее спасибо.
спросил 03 Май, 14 от Darkshine (100 баллов)

2 Ответы

00 голосов
Попробовал использовать другой блок подсмотренный в документации:

Код
<!--Цена-->
<?
$arProduct = GetCatalogProduct($PRODUCT_ID);
$arPrice = GetCatalogProductPriceList($PRODUCT_ID, "SORT", "ASC");
$bCanBuy = False;
for ($i = 0; $i<count($arPrice); $i++)
{
  if ($arPrice[$i]["CAN_ACCESS"]=="Y")
  {
    if ($arPrice[$i]["CAN_BUY"]=="Y" && (IntVal($arProduct["QUANTITY"])>0 || $arProduct["QUANTITY_TRACE"]!="Y"))
      $bCanBuy = True;
    echo $arPrice[$i]["CATALOG_GROUP_NAME"].": ";
    echo FormatCurrency($arPrice[$i]["PRICE"], $arPrice[$i]["CURRENCY"]);
  }
}
?>
<!--Цена-->


Результатом является ошибка:
Fatal error: Call to undefined function getcatalogproduct() in \home\bitrix\templates\store_minimal_blue\components\bitrix\search.page\clear\template.php on line 296

296 строка содержит:
Код
$arProduct = GetCatalogProduct($PRODUCT_ID);


Хотя в документации эта функция описана:

GetCatalogProduct

Код
array
GetCatalogProduct( 
 int PRODUCT_ID
);
ответил 28 Дек, 14 от Darkshine (100 баллов)
00 голосов
Добавил импорт модуля каталог с помощью:
Код
CModule::IncludeModule("catalog");

Ошибок не стало, но ничего так и не работает как надо. Цена не отображается.
ответил 16 Апр, 15 от Darkshine (100 баллов)

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

0 голосов
4 ответов
спросил 28 Дек, 13 от Sochi (160 баллов)