Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>Bitrix snippets 2023New to Visual Studio Code? Get it now.

Bitrix snippets 2023

Александр Маджугин

|
10 installs
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Bitrix snippets 2023

Сниппеты Bitrix для VS Code Editor

Расширение устанавливается глобально и не требует установки в рабочую область.

Использование в примере использована тема Green Paper

Использование

Просто начните набирать что-нибудь типа CIBlock и нажмите Enter. Шорткаты сниппетов совместимы с Bitrix Snippet by Sumanai Используйте префикс d7 для сниппетов D7 API. Используйте префикс bx для общих сниппетов, таких как подключение пролога.

Расширенные версии сниппетов теперь помечены "+" в имени. Если видите два вариант сниппета, например "d7Sale.BasketItem" и "d7Sale.BasketItem+", то имейте ввиду, что первый - короткая форма, предоставляющая именно то, что описано, а второй - расширенная, с некоторой дополнительной информацией. Так, в данном случае, первый сниппет вернет:

$items = $basket->getBasketItems();

а второй:

//https://mrcappuccino.ru/blog/post/work-with-basket-bitrix-d7
$items = $basket->getBasketItems();

foreach ($basket as item) { // сама корзина так же является итерируемым объектом
    echo $item->getField('NAME').': '.$item->getQuantity().'<br />';
    
    $item->getId();         // ID записи в корзине
    $item->getProductId();  // ID товара
    $item->getPrice();      // Цена за единицу
    $item->getQuantity();   // Количество
    $item->getFinalPrice(); // Сумма
    $item->getWeight();     // Вес
    $item->getField('NAME');// Любое поле товара в корзине
    $item->canBuy();        // true, если доступно для покупки
    $item->isDelay();       // true, если отложено
    
    $item->getPropertyCollection(); // Свойства товара в корзине
    
    //$item->setField('QUANTITY', quantity); // Изменение количества
    //$item->save(); // после изменения товар нужно сохранить
    
    //$item->delete(); // Удаление
    //$basket->save();
}

Таким образом, к приплюснутым сниппетам можно обращаться как к справочной информации.

Форматирование кода

Форматирование кода внутри сниппетов опирается на следующие соглашение:

Переменные

Префиксы переменных

Переменные хранящие обычные значения, такие как целые и строки начинаются с заглавной буквы и именуются в CamelCase. Например $Id, $Price и т.д.

Массивы имеют префиксы:

  • $lst* - список однородных элементов, порядок которых не важен, например список элементов ИБ
  • $ul* - упорядоченный список однородных элементов, например навигационная цепочка разделов
  • $dct* - массив, представляющий собой разнородные элементы, например поля и свойства элемента ИБ
  • $ref* - справочник однородных элементов, например список элементов ИБ ключами которого являются их ID
  • $ar* - массивы используемые в штатном движке компонентов Bitrix и со стандартными компонентами. Например $arFilter для компонента bitrix:catalog.element, но $dctFilter для функции API ядра.

Объекты именуются с маленькой буквы, в lowerCamelCase и могу иметь префексы:

  • $rdb* - итерируемый результат выборки из бд, например $rdbPrice = \Bitrix\Catalog\Model\Price::getList($dctFilter);

Неиспользуемая переменная $. Например для перебора ключей foreach ($ref as $Key=>$).

Имена переменных

  • *Element - элемент инфоблока, например $lstElements или $dctElement
  • *Product - товар, элемент торгового каталога, имеющий цену, когда не важно идет ли речь об обычном товаре или торговом предложении
  • *Offer - торговое предложение
  • *Good - товар имеющий торговые предложения

Коды сущностей

Предполагается, что символьные коды информационных блоков, свойств элементов ИБ и т.п. именуются исключительно латинскими буквами и цифрами. Символ подчеркивания используется только как технический разделитель, но не для целей читаемости. Например FULLNAME (но не FULL_NAME) для полного название элемента. Однако FULLNAME_RU и FULLNAME_UA, для версий полного названия на русском и украинском языках, соответственно.

Благодарности

Спасибо Sumanai за расширение "Bitrix Snippet", которое стало основой для данного.

Спасибо ИП Эстрин за "Все сниппеты Битрикс d7", MR.CAPPUCCINO за "БИТРИКС D7" и компании Интерволга за D7-аналоги любимых функций в 1С-Битрикс, которые стали источником многих сниппетов и справочной информации по новом ядру Doctrine aka D7 Bitrix.

  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2023 Microsoft