Идеи для: Главный модуль

Рейтинг: 10.9648  
Новая
Предложил Чернышов Антон 17.11.2017 10:17:21

Добавить возможность обновиться до конкретной версии модуля(ей)

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


Поэтому возникает ситуация, что тест приходится обновлять несколько раз, несколько раз прогонять все функциональные тесты и потом надеяться, что к моменту обновления рабочего сайта новых апдейтов не выйдет.
Рейтинг: 0  
Новая
Предложил Казаков Алексей 15.11.2017 13:34:59

Блокировать обе кнопки "Сохранить"/"Применить" при нажатии на любую из них

В любой форме в админке внизу есть кнопки "Сохранить"   "Применить"  "Отменить".

При нажатии на "Применить" на кнопке появляется "лоадер", кнопка блокируется и происходит отправка данных POST-запросом. При этом кнопка "Сохранить" активна и на неё можно нажать, при приведет к повторной отправке формы.

Конкретный пример:
Редактирование заказа. Сотрудники бухгалтерии прикладывают к заказу файл (через UF-свойство) и нажимают обе кнопки "Сохранить"/"Применить". В итоге файл отправляется дважды (и дважды же фиксируется в b_file, но это можно поправить в логике обработки входных данных)

Чего хочется:
Чтоб при отправке формы блокировались кнопки, которые могут привести к ещё одной параллельной повторной отправке
Рейтинг: 0  
Новая
Предложил Evgeniy Pedan 13.11.2017 10:55:27

Установка для разработки

Хотелось бы устанавливать режим Установка для разработки через .settings а настройкой в главном модуле.
Ибо после каждого обновления базы тестового сайта надо ее перевключать, что можно и забыть.
Рейтинг: 1.4927  
На голосовании
Предложил Eonian 08.11.2017 17:08:39

Множественное подключение модулей - \Bitrix\Main\Loader::IncludeModules(['crm', 'sale']);

Уважаемые разработчики, вставьте пожалуйста этот код в \Bitrix\Main\Loader

public static function includeModules(array $modules)
{
   $result = [];

   foreach ($modules as $module) {
       $result[] = self::includeModule($module);
   }

   return !in_array(false, $result, true);
}

Благодарю!
Рейтинг: 0  
На голосовании
Предложил Саянц Антон 25.10.2017 16:39:07

Геолокация IpGeoBase в 1С-Битрикс

Здравствуйте.
Не давно появилась геолокация в 1С-Битрикс: https://dev.1c-bitrix.ru/api_d7/bitrix/main/service/geoip/index.php

Очень хотелось бы, чтобы добавили класс для работы с http://ipgeobase.ru/
Описание:
Проект IpGeoBase создан как общедоступный ресурс географической привязки российских IP-адресов. Он включает в себя общедоступную бесплатную базу данных такой географической привязки и примеры программ, работающих с ней. База обновляется ежедневно и любой вебмастер может использовать ее для нужд географического таргетинга.

В общем проект российский и БД городов обновляется ежедневно, + нет ограничений кол-во запросов(насколько я знаю). Нужно использовать ее.
Рейтинг: 0  
На голосовании
Предложил Субачев Евгений 25.10.2017 06:58:23

Автоисправление в поиске

Поиск по сайту удобный инструмент, но очень часто при написании  какой-либо аббревиатуры на русском, автоматически текст исправляется на  англ. и соответственно в один клик через поиск в системе найти нужный элемент невозможно.  Кроме того, при повторном поиске, система опять автоматически предлагает  исправленный вариант. И так каждый раз. Хотелось бы иметь возможность  отключить автокоррекцию поиска, так как аббревиатуры в названии  предприятий или проектов могут встречаться довольно часто.
Рейтинг: 0.2609  
На голосовании
Предложил Задойный Алексей 26.09.2017 13:43:33

Добавить поддержку // (без протокола) в меню.

Ошибка работы битрикс-меню.
Если поставить там в начале "//" - то битрикс-меню само съедает первый слеш и в результате ссылка вида
//www.site1.ru/
не открывается, потому что получается
https://www.site2.ru/www.site1.ru/

При этом сетевой протокол позволяет писать такую ссылку - https://stackoverflow.com/questions/4831741/can-i-change-all-my-http-links-to-just

Меню загружается и предварительно обрабатывается классом CMenu - это часть ядра битрикс, так что поправить самому нельзя...
=(

Актуально, если сайт на который вы ссылаетесь (например ваш блог, магазин или просто другая компания из холдинга) в процессе переезда с http на https и не ясно когда он завершится.
Рейтинг: 0  
На голосовании
Предложил Круглов Алексей 25.09.2017 17:23:44

CDBResult::GetPageNavStringEx pager namespace

Было бы очень круто, если бы компонент постраничной навигации вызывался не только из системного пространства bitrix, но и из пользовательского.
В противном случае возникают ситуации, когда для своей навигации приходится костылить в обход метода
Рейтинг: 0  
На голосовании
Предложил Дубровин Павел 07.09.2017 14:36:25

Редактирование почтовых шаблонов контент-менеджером

Дать возможность получения прав на создание/редактирование почтовых шаблонов без открытия прав на настройки главного модуля.
Например, у контент-менеджера есть возможность создать почтовый шаблон при работе с веб-формой, но нет возможности с этим шаблоном работать.
Рейтинг: 1.2237  
На голосовании
Предложил Калинин Никита 06.09.2017 18:00:05

Loader::requireModule

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

При наличии обработки исключений "где-то выше" надоело писать if:
if (!Loader::includeModule('...')) {
    throw new LoaderException('Module ... not installed');
}
Рейтинг: 0  
На голосовании
Предложил Кротов Дмитрий 18.08.2017 21:41:05

bitrix:main.file.input - Поддержка массивов в "INPUT_NAME"

При вызове компонента bitrix:main.file.input есть возможность передавать параметр "INPUT_NAME", но почему-то в этом параметре нельзя передать массив, хотя массив в качестве имени инпута - это нормальная ситуация, причём часто встречающаяся.
Пример - форма добавления элемента в инфоблок (bitrix:iblock.element.add.form), инпуты свойств там имеют имена вида PROPERTY[227][0]. Следует отметить, что если в шаблоне переопределить $arParams["INPUT_NAME"] и скормить ему массив - всё работает.
Было бы неплохо исправить подобное отношение bitrix:main.file.input к массивам в "INPUT_NAME".
Рейтинг: 0.6776  
На голосовании
Предложил Kirill 17.08.2017 11:24:48

Изменить Яндекс-карту на Google на странице "Скорость сайта" (Яндекс заблокирован в Украине)

Т.к. все сервисы Яндекса заблокированы в Украине, снова обращаюсь с предложением сделать альтернативы используемым в CMS сервисам Яндекса. Если Украина второй рынок для Битрикс, то как бы Вам не хотелось, игнорировать эти изменения нельзя – тяжело объяснить клиентам, почему часть описываемых им плюшек платного Битрикса у них не работает.

В частности страница "Скорость сайта"  ( /bitrix/admin/site_speed.php ) использует Яндекс-карту для отображения скорости и распределения композитных кликов – т.е. у всех моих клиентов она не отображается.

---
Аналогично прошу поддержать идею альтернативного Яндексу сервиса перевода символьных кодов разделов и элементов инфоблоков: https://idea.1c-bitrix.ru/24243/

ps
Повторюсь, клиенты в большинстве своем VPN не используют
Рейтинг: 0.6191  
На голосовании
Предложил Кирсанов Анатолий 25.07.2017 00:53:13

Поддержка отложенного выбора шаблона сайта

В настоящий момент есть всего один штатный способ определить шаблон сайта - настройки сайта.

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

Главным образом идея возникла из-за страницы ошибки 404. Да, по ней уже сломано немало копий (1, 2). Не так давно и Битрикс предложила "решение" и даже отчиталась о внедрении соответствующей идеи.

Увы, при таком подходе буфер вывода частично (как в \Bitrix\Iblock\Component\Tools::process404) или полностью очищается, делая ненужной работу части страницы. А Битрикс итак тяжел из-за обилия функционала. Стоит ли делать лишнюю работу?

Есть прямой путь для решения такой и других проблем со сменой шаблона сайта уже после его выбора по настройкам сайта - явная установка шаблона на d7. Да так, чтобы эта установка сработала и в конце страницы.

Альтернативы "для старта":
  • Программная установка шаблона сайта на d7 до вывода визуального пролога (API для этого).
  • Событие (старое или новое на d7) для участия в выборе шаблона сайта.

Но их есть смысл делать только если планировать завершить дело отложенным выбором шаблона сайта. Тогда не придется городить огород с описанными выше решениями. Да и красиво упакованный в process404 костыль от Битрикс тоже будет не очень то и нужен.

По мотивам обращения в поддержку 1562681.
Рейтинг: 0  
Внедрено
Предложил Ганин Дмитрий 26.06.2017 21:49:01

Баг в админке

Добрый вечер!
При установке bitrix версии standart выскакивает ошибка (версия php 7.1)



А все из-за того, что переменная (1) $arSqlWhere определен как строка, а далее код работает с ней как с массивом (2). Лечится заменой на $arSqlWhere =  []; // на что как бы намекает название переменной
Рейтинг: 0  
Ответил Жуков Евгений 27.06.2017 13:02:30
Исправлено в main 16.5.9.

P.S. Сообщения об ошибках продукта, подобных этой, необходимо отправлять в техподдержку, а не на сайт идей.
Рейтинг: 0.2071  
На голосовании
Предложил Казаков Алексей 26.06.2017 17:17:22

Сделать отложенный вызов событий CEvent

Метод CEvent::Send() отправляет почтовые шаблоны по типу почтового события. Вернее, помещает их в очередь и потом выполняется либо по крону, либо на хитах.

Очень удобно, но хотелось бы иметь возможность выполнять отложенную отправку писем. А то сейчас приходится использовать агенты или городить какой-то сервис очередей - не очень правильно и удобно.

Кейс:
на сайте происходит какое-то событие, которое подразумевает отправку письма. Но хотелось бы, чтоб это письмо ушло не сейчас сразу, а, к примеру, через час, или вообще в конкретно заданное время (+-, само собой, с поправкой на регулярность запуска событий CEvent)