Идеи пользователя 273513

Рейтинг: 3  
Новая
Предложил Пользователь 273513 07.05.2020 09:05:15

Подключать компоненты 2.0 без копирования файлов из модуля

При подключении компонента namespace:componentname, искать его в следующих каталогах, взять первый найденный:
  • <docroot>/local/components/namespace/componentname
  • <docroot>/bitrix/components/namespace/componentname
  • Если ModuleManager::isModuleInstalled('namespace'):
  • <docroot>/local/modules/namespace/components/componentname
  • <docroot>/bitrix/modules/namespace/components/componentname
Конкретно в каталог components внутри модуля не закрывать доступ по HTTP(S), если такое решение будет принято.

Например, код
$APPLICATION->IncludeComponent(
        'partner.module:component.name',
        ''
);
подключит компонент, находящийся в каталоге
<docroot>/local/modules/partner.module/components/component.name

Зачем это нужно?
  • Партнеры смогут тратить меньше сил на создание установщиков (не нужно копировать файлы).
  • Партнерам проще деплоить (устанавливать и обновлять) кастомные модули, которые не распространяются через Маркетплейс.
На мой взгляд, предложение выглядит обратно совместимым.

В будущем можно реализовать аналогичные функции для CSS/JS/расширений UI-библиотеки и пр.
Рейтинг: 2.2237  
На голосовании
Предложил Пользователь 273513 06.09.2017 18:00:05

Loader::requireModule

Тот же includeModule, только выбрасывает исключение, если модуль не подключился.

При наличии обработки исключений "где-то выше" надоело писать if:
if (!Loader::includeModule('...')) {
    throw new LoaderException('Module ... not installed');
}
Рейтинг: 2.6595  
Новая
Предложил Пользователь 273513 05.07.2016 15:19:38

Выбор значения для поля типа "привязка к элементу инфоблока" с фильтром

Имеется приложение, с помощью которого заполняется некоторое хранилище (инфоблок). Появляется примерно 100 элементов каждые полгода.

Для каждой сделки задается значение поля - элемент из этого хранилища. Само поле имеет тип "привязка к элементу инфоблока".

Проблема: при достаточно большом количестве возможных значений выбор становится крайне неудобным: список слишком длинный и найти в нем что-то трудно. В настройках поля предлагается два варианта внешнего вида: выпадающий список и список флажков.

Предложение: выбор элемента как в БУС (в отдельном окне и с поиском).
Рейтинг: 15.3461  
Внедрено
Предложил Пользователь 273513 17.06.2016 16:58:21

Сброс кеша при наступлении даты начала/окончания активности элемента ИБ

При большом времени жизни кеша возникает проблема отложенных публикаций.

Например, если в любом типовом решении создать новость или что-то подобное с временем начала активности на несколько минут позже текущего, то при наступлении этого момента времени ничего не случится. Запись появится только при истечении срока кеширования, ручном сбросе кеша или редактировании другого элемента ИБ, что приведет к сбросу тегированного кеша.

Предложение: научить компоненты/API ИБ учитывать время начала и окончания активности.
Рейтинг: 0  
Ответил Жуков Евгений 24.09.2019 18:11:16
Выйдет в iblock 19.0.0 (возможен сдвиг обновления).