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

Полностью ошибка звучит так: "Ошибка регистрации нового пользователя: Не введено значение обязательного поля" и далее название поля.

Это продолжение статьи о обмене 1С-Битрикс с 1С, на этот раз речь пойдет о файлах обмена, их видах и структуре xml.

С 01.04.2021 будет ограничена поддержка продуктов 1С-Битрикс на PHP версии ниже 7.3.0. Совсем недавно вышла версия BitrixEnv 7.5.0 с поддержкой перехода на PHP 7.3/7.4, PHP 8.0. Значит пора обновляться.

Эта вводная часть об устройстве обмена между 1С-Битрикс и 1С, настройке, ошибках и отладке. Всего планируется несколько частей, т.к. объем материала достаточно большой.
Как настроить редирект со страниц с использованием заглавных букв на страницы со строчными буквами
Прилетела задача от seo отдела - сделать редирект со страниц с разным регистром /catalog/BRANDS/all/ на страницы в нижнем регистре /catalog/brands/all/. Решение на php.

Такой простой функционал оказалось не так просто реализовать. Нельзя просто взять и зайти в options менеджера объектов и поменять картинку методом options.set()

В php 7.2 ini-настройка mbstring.func_overload объявлена устаревшей. К тому же битрикс решил её выключить в последних обновлениях.

Полезное видео, дает представление о том, что нас ждет дальше, как меняется фреймворк. Я лично, посмотрел видео и устарел :)

В базе данных у пользователей есть поле CHECKWORD, но оно не равно той строке, что отправляется пользователю на почту для восстановления пароля. Для проверки нужно провести небольшие манипуляции.

Понадобилось вне компонента оформления заказа показать какие способы оплаты доступны для той или иной службы доставки. Пришлось лезть в код админки, смотреть как это устроено.
Стилизация scrollbar в css
Простая стилизация скроллбара в webkit браузерах и firefox. Т.е. работает во всех современных браузерах.
Как узнать выводится ли свойства в smart filter
Свойства хранятся в одной таблице, а их параметр "Выводить в умном фильтре" в другой. Написал пример запроса свойств, которые выводятся в умный фильтр.
Создание пользователя ssh
Если к площадке есть только root доступы, то для работы с сайтом необходимо создать нового пользователя . Под root работать нельзя.
BitrixEnv смена порта ssh
Сам порт поменять не сложно, главное не забыть настроить iptables, а то к серверу потом уже не подключитесь.
Ручное продление сертификатов LetsEncrypt BitrixEnv
Для продления сертификатов выполните команду /home/bitrix/dehydrated/dehydrated -c --force

Устанавливал npm, столкнулся с ошибкой etckeeper: pre transaction commit etckeeper returned -1

Если не работает почта после установки чистого веб-окружения битрикс. Устанавливаем postfix
Микроразметка блога
Зачем-то сделал себе мироразметку блога, видимо что б было. Разметил как сами посты, так и комментарии к ним. Покажу пример для всей страницы сайта.

Актуальная документация по исходникам ядра битрикс, со всеми обновлениями на текущий день.

Так, чтобы сильно не кастомить ядро? Модуль "Документооборот" есть не во всех редакциях. Снимать активность статьи и кастомить компонент news.detail тоже не вариант.
Не работает карта кликов с включенной защитой от фреймов
В битрикс окружении по умолчанию заголовок X-Frame-Options устанавливается в SAMEORIGIN. Это значение разрешает загрузку только если и фрейм, и страница, его загружающая, находятся на одном домене. Поэтому Яндексу не удаётся показать карту кликов, т.к. загрузка сайта во фрейм для него недоступна.
.gitignore для bitrix
Готовый файл .gitignore для сайтов на cms битрикс.

При изменении фоновой картинки, браузеру требуется некоторое время на загрузку новой, поэтому изменение картинки будет происходить с рывком. Но есть небольшой "костыль" :)

Google обновил свой инструмент Lighthouse до 6 версии, в котом были добавлены новые метрики.
Показатели блога упали до 97 в мобильной версии и 95 в десктопной.
Добавление профиля покупателя
В компоненте bitrix:sale.personal.profile.detail есть только редактирование, чтобы научить его добавлять новые профили, нужно немного кастомного кода.

Пригодится для сео, для вывода ссылок в шаблоне фильтра.

Взял аналогичную php функцию, убрал $ у переменных и всё заработало. Пример готовой функции.

Готовый код. Свойство можно использовать, например, в умном фильтре или для добавления в индекс поиска.
Трансформирование бургера в крестик на css
Пример кода для кнопки открытия меню.
Анимация при скроллинге
Простенький jQuery скрипт для добавления анимации блоков, при их появлении на экране. Можно использовать, но!, в интернете полно готовых плагинов, используйте их, не пишите/не используйте "велосипеды".