Метка: Bitrix

Bitrix

1. Получить адрес административной страницы списка элементов

 

2. Сделать, чтобы административная форма открылась на конкретном табе

, где setting1 — Id таба в массиве $aTabs

 

WordPress

Чтобы wordpress не ломал открывающие теги вставленного php кода <?php, нужно вставлять код в таком виде

<!— wp:preformatted —> <pre class=»wp-block-preformatted» lang=»php»><?php\CIBlock::GetAdminElementListLink($iblockID);</pre> <!— /wp:preformatted —>

Читать дальше

asd.iblock

Модуль расширяет стандартный функционал инфоблоков. 

Более полно ознакомиться с возможностями модуля можно на промо-сайте решения.


yenisite.infoblockpropsplus

Возможность ручной сортировки (drag&drop) свойств и подсказки к свойствам:

Читать дальше
  • Новые возможности фильтрации по наличию, ценам и другим полям товара в CIBLockElement::GetList. Оптимизация запросов — https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=12183#iblock_18_6_200.

    Пример: Ищем товары простого типа (TYPE=1), в наличии, по цене свыше 500.

  • Механизм единого управления свойствами.
    https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&LESSON_ID=1986
    Механизм позволяет определить при редактировании свойства, где оно будет отображаться.

    Классы: \Bitrix\Iblock\PropertyFeatureTable, \Bitrix\Iblock\Model\PropertyFeature. Посмотреть можно в файле bitrix/modules/iblock/admin/iblock_edit_property.php.

Читать дальше

Функциональный ORM необходим в сложных проектах и мы отправились на поиски подходящего решения. Им оказалось bitrix-models.
Решение позволяет работать с:

• Сущностями Битрикса (Элементы инфоблока, Разделы инфоблока, Пользователи, D7 таблицы)

• Моделями Eloquent

Какой из вариантов работы выбрать – вопрос удобства и привычки, сейчас мы рассмотрим подключение Eloquent моделей к 1С-Битрикс.

Читать дальше

Задача: Выбрать все элементы инфоблока у которых дублируются символьные коды.

Прямой запрос:

API:

Читать дальше

В методе \CIBlockElement::GetList появились новые параметры, касающиеся работы с товарами. Также формируемые sql-запросы стали более оптимальными.

Цитата из документации:
Важно! Начиная с версии 18.6.200 модуля Информационные блоки, в методе доступны новые возможности работы с товарами, изменены ключи метода. Читайте подробности в уроке Товары и CIBlockElement::GetList.

Читать дальше

Статья рассказывает про сложную логику фильтрации в новом ядре D7. В качестве примера взят поиск пользователей на основе сложного запроса, подзапроса. В статье рассказано, как отключить дублирование записей при сложных запросах со связкой таблиц и оптимизировать сложные запросы. Рекомендуется к прочтению.

При использовании CUser::GetList нет возможности фильтровать пользователей, используя логику в фильтре. ORM в новом ядре и класс Bitrix\Main\UserTable позволяет решить эту проблему.
Допустим, нам нужно выбрать пользователя 20, а также пользователей имеющих значение пользовательского поля UF_SHMS = 770
Код будет следующий:

Все хорошо до тех пор, пока мы не решим применить фильтрацию по группам. Например, дополнительно, выбрать пользователей с UF_SHMS= 770, состоящих в группе 6.
Соответствие группа-пользователь хранится в таблице b_user_group. Для работы с этой таблицей есть класс Bitrix\Main\UserGroupTable. Одному пользователю из b_user может соответствовать несколько записей в  b_user_group.

Итого имеем отношение один ко многим. В учебном курсе сказано, что при таком отношении «нужно лишь использовать специальный синтаксис» и приведен пример для параметра select. Это же работает и для filter. Используем

Из-за того, что пользователь может состоять в нескольких группах. Получим несколько одинаковых записей. Это решается добавлением параметра «data_doubling»=>false в getList

Читать дальше