Ошибка в Системе обновлений после обновления 1С-Битрикс до 23.650.100

При обновлений 1С-Битрикс до >=23.650.100 и PHP >=8.1, может получить ошибку на странице Система обновлений: Fatal error: Access level to BitrixMainDBMysqlConnection::getErrorMessage() must be public (as in class BitrixMainDBConnection) in /home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php on line 161 [ErrorException] E_COMPILE_ERROR Access level to BitrixMainDBMysqlConnection::getErrorMessage() must be public (as in class BitrixMainDBConnection) (0) /home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php:161 Конечно, нужно обязательно проверить верно ли подключен …

bitrix:sale.order.ajax получение данных свойства заказа

Для исполнения какой-то логики или вывода в определенном месте свойств(а) с теми или иными данными, необходимо эти данные получить, но т.к. до сих пор нет нормальной документации по новому bitrix:sale.order.ajax, а смотреть в консоли всегда не очень удобно, собрал список часто используемых функций: getAltLocation()​ getDescription()​ getGroupId()​ property.getGroupId()==3 getId()​ getName()​ property.getName()==’Юридический адрес’ getParentNode()​ getPersonTypeId()​ getSettings()​ property.getSettings()[‘IS_ZIP’] …

Форматирования даты активности элемента Битрикс

Пример форматирования даты активности элемента инфоблока Битрикса для тега time: <time class=»entry-time» datetime=»<?=FormatDate(«Y-m-d», MakeTimeStamp($arResult[«DISPLAY_ACTIVE_FROM»]))?>»><?echo $arResult[«DISPLAY_ACTIVE_FROM»]?></time>

Снять ограничение на количество товаров подписки в корзине Битрикс

Иногда возникает достаточно распространённая проблема — нельзя изменить количество товара в корзине Битрикса, т.е. поставить больше 1 шт, решение простое, это деактивировать опцию Продажа контента в настройках Торгового каталога для инфоблока: А что если на сайте реализована Продажа контента с вариантами подписки и нужно снять данное ограничение? И дективация этой настройки просто отключит функционал всего …

Проверка отображения панели администрирования Битрикс

Иногда нужно добавить класс для контейнера страницы в зависимости от активности панели администрирования: Для этого нужно вставить: <? if(!empty($APPLICATION->showPanelWasInvoked)) { echo ‘ admin-panel’; }?> Например: <div id=»wrapper» class=»wrapper<? if(!empty($APPLICATION->showPanelWasInvoked)) { echo ‘ admin-panel’; }?>»> И через CSS или JS можно спозиционированить тот или иной элемент.

Увеличение ширины визуального редактора для свойства элементов в админке Битрикса

Для свойств с типом HTML/текст на странице добавления/редактирования элемента на широких экранах (более 1280px в ширину) имеем следующее: Окно визуального редактора свойства крайне мало, при этом много «пустого» места. К сожалению в настройках свойства нет настройки для ширины или какой либо кастомизации на странице добавления/редактирования. Решение заключается в переопределении стилей для данного свойства. Необходимо в …

Переход на любую страницу после авторизации Битрикс

Задача: Осуществить переход после авторизации на страницу, например — Тесты Решение: Добавить хендлер по совету: В файл init.php вставить: AddEventHandler(«main», «OnAfterUserAuthorize», array(«CMainHandlers», «OnAfterUserAuthorizeHandler»)); class CMainHandlers { function OnAfterUserAuthorizeHandler($arUser) { $path=’/tests/’; //путь к тестам LocalRedirect($path); } } Файл init.php расположен в /bitrix/php_interface/init.php, при мультисайтовости Битрикса в /bitrix/php_interface/ID сайта/init.php, например ID сайта = s1, то и название …

Распаковка многотомного архива .tgz в Windows

Модуль резервного копирования ISPtar панели управления ISPmanager создаёт многотомные архивы с расширением .tgz, которые иногда необходимо открыть под Windows. UPD: Вспомнил, что данная инструкция подойдёт для открытия резервной копии Битрикс, модуль резервного копирования создаёт аналогичный многотомный архив.   Алгоритм примерно такой: Выкачать бекап к себе на жесткий диск, например D:\2019-04-27\ Изменить расширение у файлов:  I2019-04-27.admin.tgz.part1 …

Массовое изменение значения свойства элемента Битрикс

Модифицированное решение и CIBlockElement::Update для массового изменения значений свойства у элементов. <?php require( $_SERVER[ «DOCUMENT_ROOT» ] . «/bitrix/header.php» ); //Подключаем модуль работы с инфоблоками CModule::IncludeModule( ‘iblock’ ); // Уточняем какой будем использовать инфоблок // И выбираем элементы у которых не заполнено пользовательское свойство $arFilter = array( ‘IBLOCK_ID’ => 3, ‘!PROPERTY_108’ => 19 ); // Получаем …