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

Рейтинг: 0.4708  
Новая
Предложил Пользователь 528069 27.10.2016 14:30:55

Возможность изменять MIN_PRICE в каталоге

Хотелось, чтобы была возможность изменять минимальную цену товара в зависимости от различных данных. Для этого можно добавить событие, которое будет вызываться до/после установки MIN_PRICE товара.
Рейтинг: 3.8163  
Новая
Предложил Пользователь 304262 27.10.2016 07:37:51

Возможность кастомить прелоадер показываемый функцией BX.showWait

Добавить возможность передать в функцию BX.showWait свой объект стилей или как-то изменять стандартный объект стилей прелоадера, чтобы использовать стилизованные прелоадеры, возможно разные на одном сайте, в том числе вызываемые стандартными компонентами.  
Рейтинг: 4.4552  
Новая
Предложил Пользователь 93386 21.10.2016 14:29:13

Дайте возможность указать где подключать CSS шаблонов компонентов

Google PageSpped ругается на все сайты на Битриксе в контексте того, что в шапке сайта подключается огромная объединённая и сжатая CSS. Согласно рекомендациям в шапке сайта нужно подключать только те CSS, которые нужны на первом экране. Но в Битриксе же все все css всех шаблонов компонентов подключаются исключительно в шапке. Нужно дать возможность в шаблоне компонента голосовать за место расположения CSS - Header/Footer. По аналогии с голосованием за композит. На выходе получим то, что требует Google - в шапке будут подключаться только те CSS, которые нужны для первого экрана, остальные соответственно будут подключаться в подвале сайта.
Рейтинг: 1.4887  
Новая
Предложил Пользователь 93386 21.10.2016 09:17:19

События на подключение шаблонов компонентов

Очень нужна возможность подписаться на события вызова шаблонов компонентов. Реальный кейс - компиляция less файлов в шаблоне компонента, а также автоматическое создание script.min.js и опционально обфускация JS.
Сейчас приходится в каждом шаблоне в component_epilog протаскивать методы компиляции/минимизации. Не удобно.
Рейтинг: 6.5324  
Новая
Предложил Пользователь 136059 09.10.2016 15:03:34

Развитие api для разделов инфоблоков

В версии инфоблоков 16.5.4 вышла прекрасная функциональность для работы с разделами на новом ядре D7.
Правда документации пока нет (но ничего страшного) и можно было бы существенно увеличить возможности новой реализации:

1) Метод compileEntityByIblock мог бы возвращать не полное название класса, а объект этого класса. При этом его работа была бы эффективнее. Сравните 2 подхода:
use \Bitrix\Main\Loader;
use \Bitrix\Iblock\Model\Section as SectionFactory;

Loader::IncludeModule('iblock');
$sSection = SectionFactory::compileEntityByIblock(1);
$oEntity = new $sSection;
var_dump($oEntity->getMap());

Против
use \Bitrix\Main\Loader;
use \Bitrix\Iblock\Model\Section as SectionFactory;

Loader::IncludeModule('iblock');
$oEntity = SectionFactory::compileEntityByIblock(1);
var_dump($oEntity->getMap());

Мне кажется решение под номером 2 выглядит практичнее.

2) Предлагаю расширить модель SectionTable (или ее производные типа Section1Table) на runtime параметр: ELEMENT_COUNT - который бы доставал активные элементы, привязанные к соответствующему разделу.

Кейс: нужно отобразить только те разделы, где есть активные элементы.
Решение предлагаемое из коробки - составление своего runtime-поля для каждого getList/getRow (где оно требуется).
Если добавить штатное решение как SELECT поле и просто передавать его в массиве полей или соответственно по условию, то код будет выглядеть элегантнее и проще, а другие подобные поля, можно будет посмотреть и сделать по аналогии.
Рейтинг: 2.5532  
Новая
Предложил Пользователь 25773 24.09.2016 12:47:38

Увеличить количество знаков для названия объекта в пользовательских полях

20 символов, для имени сущности очень мало.

Туда даже не поместится название модуля.

Сделайте хотя бы 30, а лучше 50, чтобы я мог придумывать уникальные имена объектам и не нарушать правила маркетплейса.

Рейтинг: 12.9645  
Новая
Предложил Пользователь 156743 22.09.2016 14:19:25

Открыть процесс разработки

Было бы отлично "открыть" процесс разработки Bitrix Framework для всеобщего обозрения, например на GitHub, и таким образом получить возможность другим разработчикам тоже контрибутить продукт.

Приведу пример:
http://idea.1c-bitrix.ru/it-is-not-possible-to-use-transparency-for-the-water-mark-from-the-tex/

Человек нашел как сделать улучшение в продукте и знает как конкретно это сделать. Скорее всего, ему совсем не составить труда сделать pull-реквест с этим изменением, а core-разработчикам останется только сделать ревью, провести тесты и смержить изменения, если все устраивает. Не секрет, что так живут все популярные PHP-фреймворки.

Но с текущим процессом, мы можем лишь создать идею в этом портале и ждать много времени пока это воплотят в жизнь. Тем более, вряд ли такие идеи быстро дойдут до отдела разработки.
Компания 1С-Битрикс заявляет, что система имеет открытый исходный код (или частично открытый), кто разбирается в теме, подскажите, на сколько реально это сделать.

Спасибо
Рейтинг: 1  
Новая
Предложил Пользователь 49746 07.09.2016 11:12:19

Дать возможность подключать эпилог компонента самостоятельно

Добрый день.
Возник момент с кастомным кешированием в своем компоненте.
Согласно этому курсу (https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=3053), подключение шаблона можно размещать как в кешируемой области, так и вне её.
При подключении шаблона в кешируемой области собственного компонента со сложным кешированием шаблон не отрабатывает вообще - сразу выводится html-кеш.
Разница в том, что в стандартных компонентах используется метод StartResultCache и при этом template.php кешируется полностью и выводится как html-кеш. При этом из кеша на хите достаются переменные VARS из файла кеша и передаются в component_epilog.php, что не происходит, если строить свое кеширование согласно вышеуказанному курсу.  
Покопавшись в исходниках, выяснил, что в метод startResultCache() вшит также метод includeComponentEpilog(), которого нет в классах кастомного кеширования и в документации.
При этом входящие данные для него от родительского компонента в своем дочернем компоненте получить нельзя, так как свойство, в котором хранится путь и данные для метода includeComponentEpilog() лежат в родительском свойстве __component_epilog, которое имеет модификатор доступа private и недоступен в потомке.
В связи с этим кастомное кеширование получается неполноценным, т.к. для использования в шаблонах component_epilog, нужно подключение шаблона обязательно выводить из кешируемой области.
Прошу дать возможность разработчику самостоятельно подключать эпилог компонента в своем компоненте.  
Рейтинг: 1.2791  
Новая
Предложил Пользователь 30180 08.08.2016 19:05:06

Кастомные скидки

Хорошо было бы иметь возможность реализовывать кастомные скидки. По аналогии с кастомной автоматизированной службой доставки.
Приведу пример: у заказчика есть скидки по местоположению. Допустим в Московской области скидки нет, в Ленинградской есть.
В своё время, конечно, мы использовали CALLBACK_FUNC (кстати, уже устаревший со временим механизм). Идут года и CALLBACK_FUNC вымрет окончательно и придется переделывать эту логику (которая уже реализована достаточно извращенным способом на инфоблоках).
Если б было что-то вроде хендлера, который бы при просчете скидки, которая сейчас реализуется в функции CSaleDiscount:: DoProcessOrder, дергал бы кастомные службы скидок, было бы гораздо удобнее.
Рейтинг: 0.4104  
Новая
Предложил Пользователь 129131 27.05.2016 23:17:33

...

...