Операции с разделами для элемента в Битриксе

Если элемент привязан к нескольким разделам, то получаем список разделов с помощью функции CIBlockElement::GetElementGroups:

Для добавления и изменения списка разделов отвечает параметр IBLOCK_SECTION. Этот параметр принимает массив id разделов (даже если раздел один):

Ошибка вида MySQL Query Error: [[1366] Incorrect string value: ‘\xB1N\xC30\x10\xFD…’ for column ‘COOKIES’ at row 1] или как изменить кодировку полей таблиц в MySQL

При переносе очередного сайта и разворачивание его на VDS-ке, у меня появилась ошибка:

Она была связана с тем, что не получалось сохраненить в БД куки из-за того что кодировка из скрипта не совпадала с кодировкой в БД. Что бы это исправить, необходимо сменить кодировку в БД и определить эту кодировку в скриптах битрикса для […]

Получаем минимальную цену товара через api Битрикса

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

Кириллица в регулярных выражениях php

Для правильной обработки кириллицы в регулярном выражении следует указывать модификатор «u». Это модификатор для кодировки UTF-8, соответственно её и надо использовать. Другая кодировка не подойдет (не точно). Пример рабочего кода:

Если все равно не работает как вариант можно перед выполнением в начале файла указать:

Возможно если указать ru_RU.CP1251, то подойдет и для этой […]

Получение и обновление списка привязки элементов к разделам

Для получения в битриксе списка разделов привязанных к элементу используем функцию CIBlockElement::GetElementGroups. Например, нам нужно сделать выборку элементов которые были созданы больше чем два месяца назад и удалить их из раздела новинок. Делаем выборку и получаем id элементов в которых присутствует искомый раздел :

В фильтре мы указываем ‘SECTION_ID’=>[$section_new] (делаем переменную массивом), т.к. значением […]

Настройка локализации Carbon и даты в Laravel

Если возникли проблемы с русской локализацией библиотеки Carbon или выводом русифицированной даты то начинаем проверяем. В настройках Laravel проверяем установленную локаль (config/app.php):

Смотрим в файл (app/Providers/AppServiceProvider.php), там должно быть так:

Если не работает проверяем установку локали в системе. Для ubuntu это выглядит так:

Ищем в списке ru_RU.utf8. При отсутствии устанавливаем:

После […]

Ошибка MethodNotAllowedHttpException на route PATCH

Если выдается ошибка MethodNotAllowedHttpException при работе с Route::patch() и не доходит даже до метода контроллера (проверяем заходит или нет в метод функцией dd()), то обязательно проверяем две вещи у нашей формы в файле вьюшке .blade.php: 1) Форма должна передаваться method=»POST»:

Исключение если передаем через конструктор формы, то там указываем methos=»POST»:

2) Следим что бы […]

Ошибка типа: upstream sent too big header while reading response header from upstream

Для доработки сайта на bitrix перенес его себе на vds и на главной страница после нескольких ее обновлений поймал 500 ошибку которая не проходила. Пошел смотреть в логи и увидел такую вот ошибку:

Для решения этой проблемы нужно добавить настройки в конфигурационный файл nginx. В весте под ubuntu я просто поправил файл в папке […]

Пропали торговые предложения после обновления Bitrix до 17 версии

После обновления битрикса с версии 16 до 17 пропали торговые предложения и возможность покупки товара в комплексном компоненте catalog. Сразу начал грешить на то что компонент catalog  перевели на ооп и на новый .default шаблон, после чего стала плохой поддержка шаблона версии bitrix 16. Первое что решил, это посмотреть на вывод нового шаблона. Переключил на […]