Skip to content

Instantly share code, notes, and snippets.

View livevasiliy's full-sized avatar
🗑️
https://bitbucket.org/livevasiliy/

Vasiliy livevasiliy

🗑️
https://bitbucket.org/livevasiliy/
View GitHub Profile
@livevasiliy
livevasiliy / BitrixHelper.php
Last active October 29, 2023 20:16
Импорт из CSV файла на API Битрикс.
<?php
use Bitrix\Main\ArgumentException;
use Bitrix\Main\Loader;
use Bitrix\Main\LoaderException;
use Bitrix\Main\ObjectPropertyException;
use Bitrix\Main\SystemException;
/**
* Отформатированный вывод массива
@livevasiliy
livevasiliy / order.php
Last active April 1, 2023 09:10
Ajax обработчик для оформление заказа на Bitrix D7.
<? require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\Application;
use Bitrix\Main\Loader;
use Bitrix\Main\LoaderException;
use Bitrix\Sale\Order;
use Bitrix\Sale\Delivery;
use Bitrix\Sale\PaySystem;
use Bitrix\Sale\Basket;
use Bitrix\Currency\CurrencyManager;
@livevasiliy
livevasiliy / newOrderCustomHandler.php
Last active April 1, 2023 09:09
Обработчик события для почтового шаблона SALE_NEW_ORDER (Новый заказ) на Битрикс D7. Для добавления новых полей в почтовый шаблон.
<?php
use \Bitrix\Main\Loader;
use \Bitrix\Main\SystemException;
use \Bitrix\Sale;
use \Bitrix\Main\UserTable;
use \Bitrix\Main\EventManager;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('sale', 'OnOrderNewSendEmail', 'customSaleMails');
@livevasiliy
livevasiliy / README.txt
Last active March 29, 2023 10:41
Персональные скидки Битрикс
Для создания кастомизированного правила работы с корзиной на сайт необходимо:
1. Скопировать файл saleactiondiscountfromdirectory.php в папку сайта рядом с init.php (либо в /local/php_interface/init.php либо /bitrix/php_interface/init.php либо /bitrix/php_interface/ID сайта/init.php).
2. Подключить файл saleactiondiscountfromdirectory.php в init.php:
include "saleactiondiscountfromdirectory.php";
3. Создать Highload блок. Импортировать файл discount_hlb.xml со структурой hl-блока на странице ваш-сайт/bitrix/admin/highloadblock_import.php
4. Создать записи в hl-блоке.
@livevasiliy
livevasiliy / init.php
Created October 8, 2019 11:45
Импорт товаров с торговыми предложениями из CSV файла на 1С Bitrix Framework.
<?php
use \Bitrix\HighLoadblock as HL;
use \Bitrix\Main\Loader;
use \Bitrix\Main\SystemException;
use \Bitrix\Main\ObjectPropertyException;
define('CATALOG_IBLOCK_ID', 17); // ID Инфоблока Каталога.
define('SKU_CATALOG_IBLOCK_ID', 20); // ID Инфоблока Торговые предложения.
define('BRAND_IBLOCK_ID', 12); // ID Инфоблока Бренды.
@livevasiliy
livevasiliy / fetchAllProductsFromChildrens.php
Created August 11, 2020 10:19
Получить все товары из подразделов и сгруппировать по родительской категорий
<?php
use Bitrix\Main\Loader;
use Bitrix\Main\LoaderException;
const CATALOG_IBLOCK_ID = 17; // ID Инфоблока Каталога
function fetchAllProducts()
{
try {
@livevasiliy
livevasiliy / pre_export.php
Last active November 8, 2021 12:34
Beautiful display var_export. [EN] | Вывести в отформатированном формате var_export. [RUS]
<?php
/**
* Beautiful display var_export.
* Вывести в отформатированном формате var_export.
*
* @return mixed
*/
function pre_export($value)
{
@livevasiliy
livevasiliy / fetchData from HighLoad blocks on 1c Bitrix
Created September 27, 2018 08:40
Получение данных с Highload block на 1с Битрикс
<?php
/***
* Get info data from Highload block
* @param $HighLoadBlockID
* @param array $selectArray
* @param array $filterArray
* @param array $orderArray
* @param $limit
* @return \Bitrix\Main\ORM\Query\Result
* @throws \Bitrix\Main\ArgumentException
<?php
use Bitrix\Main\Application;
use Bitrix\Main\Diag\Debug;
use Bitrix\Main\Loader;
use Bitrix\Main\LoaderException;
$request = Application::getInstance()->getContext()->getRequest();
function is_ajax()
{
@livevasiliy
livevasiliy / template.php
Created January 30, 2019 13:12
Запись данных в собственный кэш битрикса Write data in private cache bitrix framework
<?
$cacheId = 'flowersSKU';
$cacheTtl = '604800000'; // 7 дней срок в миллисекундах.
$cache = \Bitrix\Main\Application::getInstance()->getManagedCache();
/***
* Проверка на наличие слуществующего кэша с таким ID,
* если есть, то записываем в переменную $resOffers,
* иначе cохраняем результат функции в кэш.
*/