Как получить минимальную цену среди торговых предложений товара в Битрикс

Небольшая, но весьма полезная функция получения минимальной цены среди торговых предложений товара в Битрикс:

/*
 * функция получения минимальной цены среди торговых предложений товара с id = $item_id
 */
function get_offer_min_price($item_id){
    $ret = 0;
    
    CModule::IncludeModule("iblock");
    CModule::IncludeModule("catalog");
    // ID инфоблока товаров
    $IBLOCK_ID = 7; 
    $ID = $item_id; 
    $arInfo = CCatalogSKU::GetInfoByProductIBlock($IBLOCK_ID);
    
    if (is_array($arInfo)) {
        $res = CIBlockElement::GetList(Array("PRICE"=>"asc"), 
                                       array('IBLOCK_ID'=>$arInfo['IBLOCK_ID'], 'ACTIVE'=>'Y', 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $ID), 
                                       false, 
                                       false, 
                                       array('ID', 'NAME'))->GetNext();
        if ($res){
            $ret = GetCatalogProductPrice($res["ID"], 1);
            if ($ret['PRICE']){
                $ret = $ret['PRICE'];
            }
        }
    }
    return $ret;
}

Второй параметр у функции:

GetCatalogProductPrice($res["ID"], 1);

это ID типа цены.

Если же мы хотим, чтобы цена была с отступами тысячей и округлённая (выглядит так симпатичнее):

price2

то можно воспользоваться округлением:

$ret = round($ret);

и реализацией отступов:

$ret = number_format($ret, 0, '', ' ' );

Отображение Яндекс карт в Битрикс

Довольно часто на сайтах клиентов требуется реализовать отображение Яндекс карт:

yamap1

При этом необходимо, чтобы контент-менеджер не заморачивался с настройкой отображения. В Битриксе реализация оказалась довольно простой.

Читать далее

GeoIP на сайте. Реализация в Битрикс

Иногда на сайте требуется реализовать что-то вроде такого функционала:

head

Город при посещении сайта должен быть выбран в соответствии с тем, откуда пользователь зашёл на сайт. Если из Санкт-Петербурга — то должен быть отображён Санкт-Петербург.

Реализовать определение города можно с помощью замечательного модуля «Определение местоположения по IP-адресу». Качаем его из маркетплейса отсюда.

Приступим к реализации:

Читать далее

Как получить значение пользовательского свойства типа «список» в Битрикс

Когда мы используем свойства инфоблока типа «список»:

sv-spisok
sv-spisok2

и выдираем его значение GetList-ом, мы получаем только ID значения. К примеру, для «Наличный расчёт» получаем ID=83.

Как же получить саму надпись «Наличный расчёт»? Нас спасёт следующая функция:

Читать далее

Реализация отображения 404 страницы в Битриксе

В Битриксе есть проблема отображения 404 страницы, если на сайте используются компоненты, такие как catalog/news.list и пр. (отображающие какую-либо информацию из инфоблока). Проблема заключается в том, что при запросе какого-либо несуществующего раздела/элемента — производится отображение либо надписи, что раздел/элемент не найден, либо показывается начальная страница каталога. Как же быть?

Читать далее