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

Рейтинг: 0.0706  
Новая
Предложил Пользователь 95084 07.04.2016 16:15:21

Менять action формы в CAdminList::Display()

в частности, в админке жестко прописано mode=frame для action формы:

action="'.htmlspecialcharsbx($APPLICATION->GetCurPageParam("mode=frame", array("mode"))).'"
 

этот параметр не всегда нужен. т.к. он выводит форму без шаблона, просто на пустой странице (попробуйте добавить &mode=frame к любой странице в админке)

требуется возможность гибче настраивать action, например, передавая дополнительный аргумент в этот метод (сейчас он не принимает никаких)
Рейтинг: 15.6854  
Новая
Предложил Пользователь 30180 22.03.2016 14:46:58

Сортировка в случайном порядке. Новое API

В новом API почему-то не перенесли сортировку в случайном порядке. Ранее это реализовывалось через $arSort = Array("RAND"=>"ASC")
Предлагаю вернуть данный функционал.
Рейтинг: 10.7871  
Новая
Предложил Пользователь 261493 14.03.2016 13:16:11

MySQL 5.7 + JSON + ORM

Добрый день.

Хотелось бы "из коробки" получить возможность составлять SQL запросы для полей типа JSON в MySQL 5.7
По аналогии с https://habrahabr.ru/post/278935/
Рейтинг: 0  
Внедрено
Предложил Пользователь 274166 29.01.2016 16:37:01

Визуальный редактор не должен затирать переменные

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

Необходимо: исключить перезапись незнакомых переменных
$APPLICATION->IncludeComponent(
"bitrix:news",
"advantages",
array(
           "моя_переменная" => 1,
           ....

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

НО: при редактировании компонента в визуальном редакторе он затирает все мои переменные. Уверен можно усложним алгоритм перезаписи компонента упростить работу программиста!

Надеюсь понятно изложил идею(столкнулся с такой проблемой)
Рейтинг: 0.197  
Ответил Жуков Евгений 29.01.2016 16:59:22
Визуальный редактор сохраняет только те переменные, что описаны в .parameters.php компонента и шаблона. Вам необходимо описать ее в .parameters.php шаблона. Если этого не сделать - ее значение может не повлиять на идентификатор кеша компонента, что приведет к ошибкам в отображении.
Рейтинг: 16.1901  
Новая
Предложил Пользователь 185101 15.12.2015 21:02:28

Добавить методы в класс \Bitrix\Main\Type\Date

Добавьте несколько методов в класс \Bitrix\Main\Type\Date
А именно
DateTime::modify
public function modify($modify)
{
   return $this->value->modify($modify);
}


DateTime::Diff
DateTime::setDate
public function setDate ($year, $month, $day)
{
   return $this->value->setDate($year, $month, $day);
}
А то работать очень не удобно. Я, допустим, очень привык работать с классом \DateTime
А когда в нем не оказалось метода modify, я был разочарован.
Я понимаю что, можно использовать метод  Date::createFromPhp(), но это очень неудобно.
Рейтинг: -5.8382  
Новая
Предложил Пользователь 390462 30.11.2015 17:42:03

Код. Убрать обязательность префиксы в переменных

ar,  ob,  db по-моему только мусор добавляют а не читабельность.

Массивы следует именовать с префиксом ar, при этом следующее логическое слово в названии начинается с большой буквы. Например, $arResult, $arModifiedUsers.

Объекты следует именовать с префиксом ob, при этом следующее логическое слово в названии начинается с большой буквы. Например, $obElement, $obUser.

Объект класса CDBResult следует начинать с префикса db, при этом следующее логическое слово в названии начинается с большой буквы. Например, $dbResult.
Рейтинг: 34.1397  
В работе
Предложил Пользователь 17890 21.11.2015 03:07:03

Сделать продукт совместимым с php7

Свершился релиз php7 и очень бы хотелось посмотреть на скорость работы уже сейчас :|

Fatal error: Cannot use 'String' as class name as it is reserved in bitrix\modules\main\lib\text\string.php on line 4

Fatal error: Argument 1 passed to Bitrix\Main\Diag\ExceptionHandler::handleException() must be an instance of Exception, instance of EngineException given in bitrix\modules\main\lib\diag\exceptionhandler.php on line 167

Fatal error: Argument 1 passed to Bitrix\Main\Diag\HttpExceptionHandlerOutput::renderExceptionMessage() must be an instance of Exception, instance of EngineException given, called in bitrix\modules\main\lib\diag\exceptionhandler.php on line 171 and defined in bitrix\modules\main\lib\diag\httpexceptionhandleroutput.php on line 11

... 
Рейтинг: 1.6111  
Новая
Предложил Пользователь 26593 20.11.2015 12:08:13

Создание групп свойств компонента из шаблона

В параметрах компонента мы можем задать группировку свойств:

$arComponentParameters = array(
   "GROUPS" => array(
      "PARAMS" => array(
         "NAME" => GetMessage("IBLOCK_PARAMS"),
         "SORT" => "200"
      ),
      "ACCESS" => array(
         "NAME" => GetMessage("IBLOCK_ACCESS"),
         "SORT" => "400",
      ),
      "FIELDS" => array(
         "NAME" => GetMessage("IBLOCK_FIELDS"),
         "SORT" => "300",
      ),
      "TITLES" => array(
         "NAME" => GetMessage("IBLOCK_TITLES"),
         "SORT" => "1000",
      ),
   ),
... 
А в параметрах шаблона можно задать только сами параметры.
Было бы удобно иметь возможность задавать и группы в файле <путь к шаблону>/.parameters.php
Нужно добавить пять строчек в файл bitrix/modules/main/classes/general/component_util.php [466]:

      if ($templateProperties && is_array($templateProperties))
      {
         /* Добавить */
         if(is_array($arComponentParameters["GROUPS"]))
            $arComponentParameters["GROUPS"] = array_merge ($arComponentParameters["GROUPS"], $templateProperties["TEMPLATE_GROUPS"]);
         else
            $arComponentParameters["GROUPS"] = $templateProperties["TEMPLATE_GROUPS"];
         unset($templateProperties["TEMPLATE_GROUPS"]);
         /* эти пять строчек */ 
            
         if(is_array($arComponentParameters["PARAMETERS"]))
            $arComponentParameters["PARAMETERS"] = array_merge ($arComponentParameters["PARAMETERS"], $templateProperties);
         else
            $arComponentParameters["PARAMETERS"] = $templateProperties;
      }
 
Рейтинг: 0.547  
Новая
Предложил Пользователь 19677 16.11.2015 19:12:02

Дополнить параметры OnGetDiscountResult

Просьба добавить код товара для передачи в событие OnGetDiscountResult в методе \CAllCatalogDiscount::GetDiscount(). В событие OnGetDiscount он передаётся, а в то что по окончании расчёта - нет. Это позволит управлять скидками для конкретной записи в корзине, не меняя стандартный порядок выбора скидок и без необходимости копировать "к себе" несколько методов.
Рейтинг: 1.7397  
Новая
Предложил Пользователь 215992 14.11.2015 21:51:42

Добавить функцию проверки корректности URL

Добавить возможность проверки корректности URL, как относительных, так и абсолютных.
Предлагаемые параметры:
1) обязательный - сама ссылка
2) необязательный - проверять на статус 404