Записки веб-разработчика, 3 страница
bitrix d7 получить пользовательские поля раздела
Пример кода для получения пользовательских полей раздела. Пригодится когда нужно быстро получить немного данных, где-нибудь в некешируемой области.
Почему некоторые картинки в битрикс пустые
Всё дело в функционале контроля загрузки дубликатов файлов. Фичу эту, особо, не афишировали и многие о ней не знают.
Ошибка getaddrinfo failed: Name or service not known
Столкнулся с данной ошибкой при восстановлении сайта: php_network_getaddresses: getaddrinfo failed: Name or service not known
Генерация оглавления статьи на php
Есть 2 варианта: найти заголовки регулярками и распарсить dom. Я покажу второй вариант с использованием класса DOMDocument.
Интеграция с meteoblue.com
Сервис предоставляет API по детальному прогнозу погоды с арготехнической информацией. В целом, их API хорошо документирован и нужно лишь потратить немного времени на то, чтобы понять как всё устроено.
Сохранение URL страницы входа посетителя на сайт
В сессию, используя методы Битрикс. Сохраняется информация "полный URL первого входа на сайт", можно использовать, например для формы обратной связи. Пример кода:
@media запросы на js
Раньше на js проверял ширину экрана через window.innerWidth || screen.width, а оказывается есть аналог медиа запросов: window.matchMedia
Какое ядро Битрикс быстрее? Новое или старое?
Решил углубиться в дебри bitrix orm и переписать привычный запрос со старого ядра на orm. Ну и замерить время выполнения конечно.
Как сделать сложное, многосоставное свойство
Когда нужно заполнить, например, таблицу и при этом лень делать справочник, то можно сделать суперкостылище) Хранить данные в поле DESCRIPTION.
Получить все теги инфоблока
Посмотрел документацию по стандартным тегам и впал в ступор. Как сделать запрос популярных тегов у определённого инфоблока?
bitrix d7 получить полный путь местоположения по id/code
Пример из компонента поиска местоположения в заказе.
Не работает сайт на iphone
При загрузке пишет "Проблема с #URL#" или "A problem repeatdly occured on #URL#" и загрузку останавливает.
Как скрыть неактивные инфоблоки в админке
На большом сайте количество инфоблоков быстро растёт, многие из них служебные и не предназначены для редактирования из админки. Вот, чтобы они не мешались, их нужно убрать из меню. Простая деактивация инфоблока не поможет, он всё равно будет выводиться, нужно кастомить меню.
Код для отладки
Обычный дамп со сбросом буфера, ничего такого :)
Найти файл php класса
Если ваша IDE не может найти исходники класса или проект не проиндексирован, то на вопрос "где же этот чертов код?", поможет php функция.
Ошибка BLOCK_NOT_FOUND Block "1" is not exists
Возникает после создания RTB блока, в течении нескольких часов.
Перенести все файлы выше на один раздел
Пример простой консольной команды, но можно и с помощью exec() использовать.
Запрос свойств для массива элементов
Получение значений свойств элементов одного инфоблока для компонента. Строго рекомендуется как замена кода вида $obj->GetProperties().
Ограничение длины строки в свойстве типа html/текст
Максимум туда влезает, примерно, 60 тысяч символов и этого иногда недостаточно. Для решения нужно изменить тип поля с text на longtext.
\Bitrix\Main\Server
Этот класс нужен для того, чтобы не использовать напрямую глобальную переменную $_SERVER.
Как отключить модуль vote в bitrix
Была информация что в модуле нашли уязвимость (исправили в версии 21.0.100)
Кеширование запросов в orm Битрикс
Удобная и полезная штука, можно быстро включить кеширование без каких-либо настроек.
jQuery события touch left и right
Задача: у древнего jQuery слайдера добавить поддержку свайп жестов, без доп. плагинов.
Просмотр списка методов объекта php
Когда документации нет или её мало, а ide не даёт подсказок, выручает функция get_class_methods().
Столкнулся с интересной особенностью json_encode
Вместо "1.7", мне сервер выдал "1.7000000000000002". Проблема не только с json_encode, но и другими "serialize" функциями.
html символы
Таблица самых часто используемых html символов и отдельная страница со списком всех символов.
You have new mail in /var/spool/mail/bitrix
Периодически в консоли появляется данное сообщение, о том что есть новые письма для пользователя bitrix.
Сохранение файла в свойство заказа типа FILE
Тут как обычно, берется массив описывающий файл, сохраняется в БД и в свойство передаётся его ID или массив ID`шников, если свойство множественное.
Массив PARAMS в меню
Ненавижу меню в битрикс, но что есть, с тем надо работать. Для того, чтобы сделать пункты меню разными, можно использовать массив PARAMS.
Bitrix d7 фильтр по дате
Выбираем заказы в определённом статусе за последний месяц. Пример кода.