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

Возникла задача: сформировать URL элемента из его символьного кода и символьного кода связанного элемента другого инфоблока. Грубо говоря шаблон должен быть таким: #PROPERTY_BRAND.CODE#/#ELEMENT_CODE#/, где PROPERTY_BRAND.CODE и будет символьный код из свойства привязки. Сразу скажу, так сделать нельзя, только если кастомить методы ядра.
bitrix d7 получить пользовательские поля раздела
Пример кода для получения пользовательских полей раздела. Пригодится когда нужно быстро получить немного данных, где-нибудь в некешируемой области.

Всё дело в функционале контроля загрузки дубликатов файлов. Фичу эту, особо, не афишировали и многие о ней не знают.

Столкнулся с данной ошибкой при восстановлении сайта: php_network_getaddresses: getaddrinfo failed: Name or service not known

Есть 2 варианта: найти заголовки регулярками и распарсить dom. Я покажу второй вариант с использованием класса DOMDocument.

Сервис предоставляет API по детальному прогнозу погоды с арготехнической информацией. В целом, их API хорошо документирован и нужно лишь потратить немного времени на то, чтобы понять как всё устроено.
Сохранение URL страницы входа посетителя на сайт
В сессию, используя методы Битрикс. Сохраняется информация "полный URL первого входа на сайт", можно использовать, например для формы обратной связи. Пример кода:

Раньше на js проверял ширину экрана через window.innerWidth || screen.width, а оказывается есть аналог медиа запросов: window.matchMedia
Какое ядро Битрикс быстрее? Новое или старое?
Решил углубиться в дебри bitrix orm и переписать привычный запрос со старого ядра на orm. Ну и замерить время выполнения конечно.

Когда нужно заполнить, например, таблицу и при этом лень делать справочник, то можно сделать суперкостылище) Хранить данные в поле DESCRIPTION.

Посмотрел документацию по стандартным тегам и впал в ступор. Как сделать запрос популярных тегов у определённого инфоблока?

Пример из компонента поиска местоположения в заказе.

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

Если заглянуть в консоль, там будет ошибка с текстом "Mandatory directory has not been created", возникает при загрузке в админке битрикс.

Кастомное свойство привязки c небольшим костылём. Сделано для удобного заполнения свойства в админке.
Код для отладки
Обычный дамп со сбросом буфера, ничего такого :)
Найти файл php класса
Если ваша IDE не может найти исходники класса или проект не проиндексирован, то на вопрос "где же этот чертов код?", поможет php функция.

Возникает после создания RTB блока, в течении нескольких часов.
Перенести все файлы выше на один раздел
Пример простой консольной команды, но можно и с помощью exec() использовать.
Запрос свойств для массива элементов
Получение значений свойств элементов одного инфоблока для компонента. Строго рекомендуется как замена кода вида $obj->GetProperties().

Максимум туда влезает, примерно, 60 тысяч символов и этого иногда недостаточно. Для решения нужно изменить тип поля с text на longtext.
\Bitrix\Main\Server
Этот класс нужен для того, чтобы не использовать напрямую глобальную переменную $_SERVER.

Была информация что в модуле нашли уязвимость (исправили в версии 21.0.100)
Кеширование запросов в orm Битрикс
Удобная и полезная штука, можно быстро включить кеширование без каких-либо настроек.
jQuery события touch left и right
Задача: у древнего jQuery слайдера добавить поддержку свайп жестов, без доп. плагинов.

Когда документации нет или её мало, а ide не даёт подсказок, выручает функция get_class_methods().

Вместо "1.7", мне сервер выдал "1.7000000000000002". Проблема не только с json_encode, но и другими "serialize" функциями.
html символы
Таблица самых часто используемых html символов и отдельная страница со списком всех символов.

Периодически в консоли появляется данное сообщение, о том что есть новые письма для пользователя bitrix.
Сохранение файла в свойство заказа типа FILE
Тут как обычно, берется массив описывающий файл, сохраняется в БД и в свойство передаётся его ID или массив ID`шников, если свойство множественное.