Записки веб-разработчика, 5 страница
Ошибка bitrix-env-7.5-0.el7.noarch has missing requires of php-pecl-xdebug
Как-то многовато ошибок после обновления BitrixEnv. Эта возникла при попытке обновить сервер. Решение простое, удалить php-pecl-xdebug3 и установить php-pecl-xdebug
Не оформляется заказ, ошибка "Не введено значение обязательного поля"
Полностью ошибка звучит так: "Ошибка регистрации нового пользователя: Не введено значение обязательного поля" и далее название поля.
Обмен с 1С, часть 2. Структура файлов обмена
Это продолжение статьи о обмене 1С-Битрикс с 1С, на этот раз речь пойдет о файлах обмена, их видах и структуре xml.
Безопасное обновление php до 7.4
С 01.04.2021 будет ограничена поддержка продуктов 1С-Битрикс на PHP версии ниже 7.3.0. Совсем недавно вышла версия BitrixEnv 7.5.0 с поддержкой перехода на PHP 7.3/7.4, PHP 8.0. Значит пора обновляться.
Как работает обмен Битрикс с 1С. Часть 1
Эта вводная часть об устройстве обмена между 1С-Битрикс и 1С, настройке, ошибках и отладке. Всего планируется несколько частей, т.к. объем материала достаточно большой.
Как настроить редирект со страниц с использованием заглавных букв на страницы со строчными буквами
Прилетела задача от seo отдела - сделать редирект со страниц с разным регистром /catalog/BRANDS/all/ на страницы в нижнем регистре /catalog/brands/all/. Решение на php.
Яндекс карты. Изменение значка метки при наведении у списка объектов
Такой простой функционал оказалось не так просто реализовать. Нельзя просто взять и зайти в options менеджера объектов и поменять картинку методом options.set()
Замена функций в коде на мультибайтовые аналоги (mb_)
В php 7.2 ini-настройка mbstring.func_overload объявлена устаревшей. К тому же битрикс решил её выключить в последних обновлениях.
Видео о развитии Bitrix Framework
Полезное видео, дает представление о том, что нас ждет дальше, как меняется фреймворк. Я лично, посмотрел видео и устарел :)
Как проверить USER_CHECKWORD
В базе данных у пользователей есть поле 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 returned -1
Устанавливал npm, столкнулся с ошибкой etckeeper: pre transaction commit etckeeper returned -1
cannot connect to localhost, port 25: Connection refused
Если не работает почта после установки чистого веб-окружения битрикс. Устанавливаем postfix
Микроразметка блога
Зачем-то сделал себе мироразметку блога, видимо что б было. Разметил как сами посты, так и комментарии к ним. Покажу пример для всей страницы сайта.
Обновил документацию до 20.5
Актуальная документация по исходникам ядра битрикс, со всеми обновлениями на текущий день.
Как посмотреть черновик статьи?
Так, чтобы сильно не кастомить ядро? Модуль "Документооборот" есть не во всех редакциях. Снимать активность статьи и кастомить компонент news.detail тоже не вариант.
Не работает карта кликов с включенной защитой от фреймов
В битрикс окружении по умолчанию заголовок X-Frame-Options устанавливается в SAMEORIGIN. Это значение разрешает загрузку только если и фрейм, и страница, его загружающая, находятся на одном домене. Поэтому Яндексу не удаётся показать карту кликов, т.к. загрузка сайта во фрейм для него недоступна.
.gitignore для bitrix
Готовый файл .gitignore для сайтов на cms битрикс.
Плавное изменение background-image
При изменении фоновой картинки, браузеру требуется некоторое время на загрузку новой, поэтому изменение картинки будет происходить с рывком. Но есть небольшой "костыль" :)
Проблема с метрикой Cumulative Layout Shift
Google обновил свой инструмент Lighthouse до 6 версии, в котом были добавлены новые метрики.
Показатели блога упали до 97 в мобильной версии и 95 в десктопной.
Добавление профиля покупателя
В компоненте bitrix:sale.personal.profile.detail есть только редактирование, чтобы научить его добавлять новые профили, нужно немного кастомного кода.
Умный фильтр битрикс, создание чпу ссылки до применения
Пригодится для сео, для вывода ссылок в шаблоне фильтра.
Склонение слов после числительных на js
Взял аналогичную php функцию, убрал $ у переменных и всё заработало. Пример готовой функции.
Сохранение основного раздела товара в свойство
Готовый код. Свойство можно использовать, например, в умном фильтре или для добавления в индекс поиска.
Трансформирование бургера в крестик на css
Пример кода для кнопки открытия меню.