Записки веб-разработчика, 2 страница

Модуль переключения веток git из админки
Бесплатный модуль для битрикс, позволяющий переключать ветку git прямо из админки. Для установки не через маркетплейс (если лицензия неактивна) можно воспользоваться скриптом.
Читать дальше » 0
Алексей,
Обновляемся до php 8
С сегодняшнего дня битрикс требует php 8 для установки дальнейших обновлений. Самое время обновить все.
Читать дальше » 6
Алексей,
b_user_session как почистить
При включении хранения сессий в БД, таблица быстро разрастается, если механизм очистки отключен в настройках php.
Читать дальше » 0
Алексей,
Bitrix framework 3.0
Запись вебинара о прототите нового фреймворка
Читать дальше » 0
Алексей,
Прервать выполнение ajax запроса
Например при переключении вкладок, часть контента подгружается ajax`ом. И если быстро тыкать по вкладкам, это создаст множество асинхронных запросов и, помимо долгой загрузки, результат может быть неожиданный.
Читать дальше » 0
Алексей,
Вывод размера файлов объединённых js/css
При оптимизации "больших" сайтов удобно смотреть что можно "выкинуть" в объединённых файлах стилей и скриптов. В конце выводится список подключённых файлов. Добавил туда вывод размера этих файлов.
Читать дальше » 0
Алексей,
Google pagespeed обновился
Теперь проверяет сайт по огромному количеству показателей: доступность для людей с ограниченными возможностями, древность библиотек, проверяет ошибки в консоли и многое другое.
Читать дальше » 0
Алексей,
Отладка обработчиков событий битрикс
Столкнулся с проблемой: долгая генерация страницы сервером при небольшом количестве запросов. Проблема была в php коде, который срабатывал по событию.
Читать дальше » 0
Алексей,
Редирект с несуществующих страниц пагинации
Пример как быстро сделать редирект со страниц вида /?PAGEN_1=999 на последнюю страницу пагинации.
Читать дальше » 1
Алексей,
Поле для личной подписи, автографа
Сделано на canvas, работает как на десктопе, так и на "тач" устройствах. Итоговое изображение можно сохранить в jpg файл.
Читать дальше » 0
Алексей,
Отдельный URL у торговых предложений
Опишу вариант создания отдельного урла для торговых предложений битрикс (почти стандартный). На примере: /catalog/code-section-1/code-section-2/code-element/12345/
Читать дальше » 6
Алексей,
Кастомное пользовательское поле, тип: привязка к чему-либо
Достаточно простой способ расширить варианты привязок у пользовательских свойств. Покажу на примере "Привязка к свойствам инфоблока".
Читать дальше » 0
Алексей,
Поддержка тёмной темы на сайте
Всё очень просто, достаточно использовать медиа-запрос "prefers-color-scheme: dark". Он срабатывает, когда на устройстве пользователя включена тёмная тема.
Читать дальше » 0
Алексей,
В админке перестали подсвечиваться выбранные варианты выпадающего списка
Где-то в последних версиях сломали вёрстку админки, но это легко починить.
Читать дальше » 0
Алексей,
Как загрузить изменения в ветку, не переключаясь на неё
Из любой ветки можно загрузить новые коммиты из удалённого репозитория в другую ветку.
Читать дальше » 0
Алексей,
Улучшенный вариант ленивой загрузки js плагинов
Исключает повторную загрузку, загружает плагин только при отображении нужного элемента на экране, срабатывает после аякс запросов.
Читать дальше » 0
Алексей,
Передача параметров из cron в php скрипт
Когда скрипт очень большой, его нужно выполнять за несколько шагов. Это можно сделать с помощью передачи параметров при запуске скрипта из командной строки (или в планировщике cron).
Читать дальше » 0
Алексей,
Регулярка, изменить мл на литры
Пример готовой функции для замены "150мл" на "0.15л", например, в названиях товаров.
Читать дальше » 0
Алексей,
Микроразметка раздела товаров
Вывод данных по schema.org/Product, без доп. запросов.
Читать дальше » 0
Алексей,
base64 decode\encode online
Раньше висела форма конвертации в правом блоке, решил что там ей не место и закинул в статью.
Читать дальше » 0
Алексей,
Аттрибут loading="lazy" теперь стандарт?
validator.w3.org больше не ругается на "неизвестный" аттрибут, а caniuse пишет о поддержке 92%
Читать дальше » 0
Алексей,
Обновил документацию до 22.2
Актуальная документация по исходникам ядра битрикс v22.2, со всеми обновлениями на текущий день.
Читать дальше » 0
Алексей,
Ошибка Unknown field definition `ID` for \Bitrix\Main\Site
Данная ошибка может возникнуть во время обновления. Исправляется в будущем обновлении, но что бы починить админку нужно немного подправить ядро.
Читать дальше » 7
Алексей,
Как в result_modifier вызвать метод класса
Через метод объекта $this->getComponent() доступны все методы класса.
Читать дальше » 1
Алексей,
Ошибка ERR_SSL_PROTOCOL_ERROR после установки сертификата
Если после установки ssl сертификата вы получили ошибку ERR_SSL_PROTOCOL_ERROR, обновите nginx, похоже что он слишком старый.
Читать дальше » 0
Алексей,
Получить родительские разделы раздела
С помощью старого ядра, методом CIBlockSection::GetNavChain. По сути, там в цикле делаются запросы к БД, с каждым запросом достаётся родительский раздел.
Читать дальше » 0
Алексей,
Вывод габаритов товара
Код для вывода ШхГхВ, например в шаблонах компонента.
Читать дальше » 0
Алексей,
Улучшаем CLS показатель за счет шрифтов
После загрузки кастомного шрифта, браузер заново рендерит текст на странице и т.к. ширина символов может быть сильно разной, размеры блоков меняются и элементы на сайте "прыгают".
Читать дальше » 1
Алексей,
Ошибка при загрузке картинки
Если заглянуть в консоль, там будет ошибка с текстом "Mandatory directory has not been created", возникает при загрузке в админке битрикс.
Читать дальше » 1
Алексей,
Сужение вариантов в зависимости от другого свойства
Кастомное свойство привязки c небольшим костылём. Сделано для удобного заполнения свойства в админке.
Читать дальше » 0
Алексей,
Здесь можно узнать много полезного. Я пишу на темы: веб-разработка, CMS 1С-Битрикс (как с позиции разработчика, так и от лица пользователя), различные нестандартные приемы в верстке и прочие вещи связанные так или иначе с web`ом. Я не блогер и пишу как умею, посты постоянно обновляются, т.к. я стараюсь следить за актуальностью данных.