Кастомное добавление товаров в админке для заказов Bitrix

Речь в статье пойдет о создании своего интерфейса для добавления товара в админке битрикса. Обозначим основные моменты: 1) добавление кнопки public static function initStartComplect() { return [ «BLOCKSET» => __METHOD__, «getScripts» => [static::class, «initComplectScripts»], ]; } public static function initComplectScripts($args) { Asset::getInstance()->addJs(‘https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js’); $result = ‘ setTimeout(function() { $(«[data-id=basket]»).find(«.adm-s-gray-title-btn-container»).append(«Добавить комплект»); }, 1000); function addComplect(params) { var …

Переопределение ссылки на поиск пользователя при создании заказа через административный интерфейс.

Давно не писал всяких полезностей и вот случилось недавно разрешить проблему в админке Bitrix, надо было переопределелить стандартную функцию зашитую в ядро, лезть куда конечно же моветон. Функции обладают возможностью для переопределения поведения. Переопределение происходит с помощью присвоения анонимной функции переменной, которая называется так же, как и переопределяемая функция. Обработчик навесил на события OnAdminSaleOrderEditDraggable, OnAdminSaleOrderCreateDraggable. …

Highloadblock теперь ORM

Как сделать работу с Highloadblock bitrix более сносной? Решение есть, описание сущности таблицы в ORM, данный способ позволит нам с легкостью обращаться к полям справочника как к любой другой таблице описанной в ORM, те доступны все методы Add, Update, GetList и т.д. Только существует один ньюанс при обращении к полю множественного типа оно возращается строкой для …

Модуль геолокации

Возникла необходимость использовать местоположения по нескольким странам, которые отсутствуют в редакции «Стандарт», а так же в недостаточном количестве представлены в более продвинутых редакциях битрикса с учетом языковых зависимостей. Для этого собрал модуль — https://github.com/sm1le404/ds.geolocation, на основе https://github.com/x88/i18nGeoNamesDB этой геобазы. В настоящий момент таблицы пока пусты, отдельно надо будет сделать прогрузку так как битрикс не успевает за приемлимое …

Как добавить комментарий к задаче на КП Bitrix

Возникла задача — необходимо добавить комментарий из письма комментарием к задаче, то есть владелец задачи может оставить комментарий к своей задачи на прямую из почты. Расписывать каким образом читать почту я не буду, просто приведу листинг того как добавить комментарий и как хотелось бы на D7 , но пока нельзя. $task = \Bitrix\Tasks\Internals\TaskTable::getByPrimary($res[‘TASK_ID’])->fetch(); $forumID = \CForumTopic::GetByID($task[‘FORUM_TOPIC_ID’]); …

Удаление старых резервных копий

Столкнулся с проблемой следующего характера — при настройке стандартного резервного копирования в облаке Битрикс и установке -> удалять в случае если кол-во копий больше N, если копия не ушла в облако по каким то причинам, она остается на сервере, что в свою очередь захломляет пространство. Чтобы обойти этот момент — написал простой агент, который можно …

Bitrix КП добавление файла к задаче

Возникла задача сохранения файла из внешнего источника в задаче КП Битрикса, но оказалось все не совсем просто, в связи с тем что использует он модуль disk, а не только стандартный класс CFile, чтобы решить данную проблему пришлось покопать исходники. $fileInfo = \CFile::GetFileArray(1); $folder = \Bitrix\Disk\Folder::getById(1); $data = array( ‘NAME’ => $fileID.’_’.$fileInfo[‘ORIGINAL_NAME’], ‘STORAGE_ID’ => 1, ‘FILE_ID’ …

Bitrix и новый GTM

После ввода нового формата GTM который содержит в себе iframe, битриксовый веб-антивирус начал истошно визжать о том что «обнаружен вирус». Чтобы не наблюдать данную проблему и bitrix не писал подобных сообщений в лог или не пытался просто вырезать данную конструкцию необходимо записать в исключения веб-антивируса содержимое тега src, из <iframe src=’наш код’></iframe>.