Git Hub
коротко
8 заметок с тегом

Магазин

Получить минимальную цену товара в разделе

7 ноября 2016, 15:04
function getMinPriceBySectionID($sectionID){

    $CATALOG_ID = 4;
    $rsProducts = CIBlockElement::GetList(
        Array('CATALOG_GROUP_1' => 'ASC'),
        Array('IBLOCK_ID' => $CATALOG_ID, 'SECTION_ID' => $sectionID),
        false,
        Array('nTopCount' => 1),
        Array('IBLOCK_ID', 'ID', 'NAME', 'CATALOG_GROUP_1')
    );

    $arProducts = $rsProducts->Fetch();

    $price = $arProducts["CATALOG_PRICE_1"];
    if (!empty( $price))
         return App::priceFormat($price);
    else
        return false;
}
Bitrix   Магазин

Интернет магазин: склонения

22 июня 2016, 11:21

Склонения числительных

/** 
 * Функция склонения числительных в русском языке 
 * 
 * @param int    $number Число которое нужно просклонять 
 * @param array  $titles Массив слов для склонения 
 * @return string 
 * @example: echo 'Я знаю '.declOfNum(5, array('язык', 'языка', 'языков')); 
 */  
function declOfNum($number, $titles)  
{  
    $cases = array (2, 0, 1, 1, 1, 2);  
    return $titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];  
}

Склонения существительных

я использовал библиотеку phpMorphy

Bitrix   Магазин

Интернет магазин: формат цены

20 июня 2016, 22:57
$formattedPrice = number_format($price, 0, '.', ' ').' р.';
Магазин

Интернет Магазин: Каталог

10 февраля 2016, 19:15

Получить базовую цену товара по его ID

$productID = $arResult["ID"];
$arBasePrice = CPrice::GetBasePrice($productID);
dump($arBasePrice["PRICE"]);

Получить список торговых предложений по ID товара из основного каталога

$arOffers = CIBlockPriceTools::GetOffersArray();

Вызов метода с параметрами

$arOffersFilter =array(
"IBLOCK_ID"=>$arParams["IBLOCK_ID"], // ID торгового каталога
"HIDE_NOT_AVAILABLE"=>"Y",
"SHOW_PRICE_COUNT"=>true);
$arOffersOrder = array("sort"=>"asc","id"=>"desc");
$arSelectFields = array("NAME");
$arSelectProps = array(
    "CML2_ARTICLE",
    "CML2_COLOR",
    "CML2_SIZE",
    "PREVIEW_PICTURE",
    "DETAIL_PICTURE"
);
$arOffersLimit = 0;
$arOffersPrices = array(
    "Розница"=>
        array(
            "ID"=>1,    
            "TITLE"=>"Цена",
            "SELECT"=>"CATALOG_GROUP_1",
            "CAN_VIEW"=>true,
            "CAN_BUY"=>true)
);
$arVat = false;


$arOffers = CIBlockPriceTools::GetOffersArray(
    $arOffersFilter,
    array($productID), // ID товара из основного каталога
    $arOffersOrder,
    $arSelectFields,
    $arSelectProps,
    $arOffersLimit,
    $arOffersPrices,
    $arVat,array()

);

dump($arOffers);
Bitrix   Магазин

Интернет магазин: Фильтры

9 февраля 2016, 16:54

Фильтр по количеству товара в магазине

$arFilter[">CATALOG_QUANTITY"]=0; // кол-во товаров больше 0

Фильтр по цене товара

$arFilter["=CATALOG_PRICE_1"]=135; // цена = 135 р
Bitrix   Магазин

Интернет Магазин: Оглавление

6 февраля 2016, 14:58

Оглавление

  1. Каталог товаров
  2. Список Разделов
  3. Деталка или Карточка товара
  4. Рекомендуемые товары
  5. Акции
  6. С эти товаром покупают
  7. Фильтры
  8. Интеграция с 1С
  9. Корзина
  10. Заказы
  11. Формат цены
  12. Склонения
  13. Работа с файлами
Bitrix   Магазин

Bitrix: Акции

27 июля 2015, 11:09

Оглавление

Общая архитектура Акций в e-commerce

Контентщики готовят анонс акции с описанием акции в инфоблоках

  1. Название акции
  2. Условия её проведения
  3. Дата и время начала акции
  4. Дата и время окончания акции
    и у нас появляется ID акции ~/promo/12345/

Реализация Акций на Битрикс

в  e-commerce используется термин promotions

нам понадобиться таблица Акции (b_promotions)

create table IF NOT EXISTS b_promotions(
ID INT(18) AUTO_INCREMENT,
NAME VARCHAR(255) COMMENT "Название акции",
ACTIVE CHAR(1) COMMENT " Активность акции"  NOT NULL DEFAULT 'N' ,
DESCRIPTION TEXT  COMMENT "Описание акции" NULL,
DATE_START DATETIME COMMENT "Дата начала акции" NULL,
DATE_END DATETIME COMMENT "Дата окончания акции" NULL,
DURATION INT COMMENT "unixtime  длительность акции" NULL ,
PRIMARY KEY(ID) 
) ENGINE=InnoDB ;
===
а) Дано: интернет магазин на "1с-битрикс: Бизнес", каталог, корзина и оформление заказа реализованы нативными компонентами (catalog, sale.basket.basker, sale.order.full). 
Задача:  реализовать акцию "Каждый N товар за X рублей". У акции должны быть настройки, где выставляется период активности акции, параметры N и X
===
Bitrix   Акции   Магазин

Cookie: Удалить

29 июня 2015, 16:01

Удаляем куку

/**
    * удаляем куку с именем $cookieName
    * @example 
    *   $this->clearCookie("DISCOUNT_NO");
    *         
    */
    protected function clearCookie($cookieName)
    {
        $negativeTime = 3600*24*10;
        setcookie($cookieName, '', time() - $negativeTime,"/");
    }
Магазин