Записки веб-разработчика
Добро пожаловать
Приветствую. Хочу сразу предупредить. Я разработчик, а не писатель, поэтому пишу как умею и, в основном, для себя. Буду благодарен за "фидбек", можно написать в комментариях к любому посту без регистрации.

Пример привязки платёжной системы к партнёрам, реализующим товары на сайте.

Ошибка вызвана тем, что значение auto_increment таблицы свойств достигло максимального значения. Лечится изменением типа поля с int на bigint

Модуль либо обновить, либо, если обновления недоступны или вы не перешли на php8, то удалить. Поправили в версии 23.850.0
Смена кодировки сайта с windows-1251 на utf-8
Пошаговая инструкция для конвертации сайта в utf-8 на 1С-Битрикс

Пример скрипта отрабатывающего на кроне. Простенький скрипт, который достаёт данные о детальной картинке и доп. картинках из свойства типа файл. Сохраняет все это в xml файл, ссылка на который сохраняется в "индексный" xml.

После недавнего обновления все ссылки/страницы стали отображаться во всплывающем окне/слайдере и стандартным способом это не изменить.

Последнее время было несколько случаев взлома 1С-Битрикс, прячемся)

Простой способ переключиться на php-fpm на стандартном битрикс окружении
Событие перед добавлением товара в корзину
Пример обработчика события OnSaleBasketItemBeforeSaved (аналог в старом ядре - OnBeforeBasketAdd)
Сортировка массива по двум полям: названию и индексу
Пример кода сортировки ассоциативного массива, с помощью метода uasort и strnatcmp
Ошибка Ansible could not initialize the preferred locale: unsupported locale setting
Возникает после установки битрикс окружения 9-й версии. Решается коммандой: export LC_ALL=C.UTF-8
Транслит для ЧПУ URL
Простая форма для генерации символьного кода из текста

Как добавить возможность редактирования (из публичной части) элемента инфоблока вне компонента?
Стилизация input[type="checkbox"] на css
Простенькая стилизация инпутов, используется только тег label и псевдоэлементы :beforе и :after
Нормализация номера телефона в битриксе
Для хранение телефонов в едином виде, можно обработать их одним методом UserPhoneAuthTable::normalizePhoneNumber()
Автоматический расчет цены комплекта в Битрикс
Готовый скрипт для расчета цены комплекта по его составу, работает на cron.
Какие скидки были применены к товарам в заказе
Нужен всего один метод OrderEdit::getOrderedDiscounts, его нет в документации, т.к. используется только в админке битрикс.
Не удаляется старый кеш
Если в папке с кешем битрикс у вас много "просроченного" кеша с ~ (тильдой) в названии, проверьте выполняется ли агент delayedDelete
Анимация печати текста на js
Простой скриптик для имитации набора текста в строке

Связано с обновлением 23.300.0, в котором параметр COMPATIBLE_MODE стал по-умолчанию считаться выключенным. Нужно пройтись по настройкам компонентов catalog.* и включить режим совместимости

Может быть несколько причин: не удалили mbstring.func_overload, некорректно настроено хранение сессий, задублировалась кука PHPSESSID, настроена политика безопасности группы администраторов.
Проверить отправлен ли запрос ajax`ом
Одной строкой: Application::getInstance()->getContext()->getRequest()->isAjaxRequest()
Удалить модуль если админка не работает
Если вдруг какой модуль выдал ошибку и нет возможности зайти в админку, модуль можно удалить выполнив небольшой скрипт.
Пример aspect-ratio, улучшаем показатель CLS
Пример, помогающий понять как работает aspect-ratio в css

Если после обновления окружения отвалился ssl, проверьте файл /etc/nginx/bx/conf/ssl_options.conf, у меня там не хватало строки ssl on;
Сдвиг страницы из-за flex order
Попался интересный случай. На сайте шапку переместили ближе к футеру, чтоб контент страницы был выше в исходниках. А после, в css поменяли порядок блоков свойством order.
Восстановление привязки товаров к разделам
Необычная ситуация попалась, привязка к основному разделу у товара заполнена, а множественная к разделам - нет.
Оптимизация запросов файлов
Если использовать стандартные компоненты и примеры кода, то запросы будут идти в цикле, что не оптимально. Покажу как сделать все одним запросом.
Наследование пользовательских свойств в подразделах
Чтобы не заполнять все поля у каждого раздела, часть можно "наследовать", сделав пару доп. запросов в компоненте.