Рейтинг: -0.5553  
Новая
Предложил Шерлок Холмс 19.09.2013 23:37:14

При копировании шаблона компонента создавать заготовку .parameters.php

Тем, кто любит использовать штатные компоненты, приходится часто копировать их шаблон, и чтобы добавить какую-то свою логику - удобно создавать файлик .parameters.php, в котором при необходимости добавлять свои параметры.

Было бы классно, если бы при копировании шаблона автоматом создавался код с заготовкой .parameters.php который было бы достаточно раскомметнировать, и подстроить под себя в пару кликов, например, такой: https://docs.google.com/document/d/1Y0EqFDFxHgBSf0Zf4dAswS0jE9Gn1umLoj8wHRCJqpw/pub


Или добавить обработчики события при копировании компонента, как предлагал Антон Долганин в своей идее, тогда бы это можно было бы сделать автоматом своим обработчиком.
Рейтинг: -2.9027  
На голосовании
Предложил Шерлок Холмс 19.09.2013 13:45:21

Убирать из результата стандартых компонентов значение с ~тильдой (по параметру)

Зачем каждый раз в компоненте выбираются дублирующие значения с тильдой?
            1 => Array[48]
                ID => "1"
                ~ID => "1"
                NAME => "Имя получателя"
                ~NAME => "Имя получателя"
                TYPE => "TEXT"
                ~TYPE => "TEXT"
                REQUIED => "Y"
                ~REQUIED => "Y"
                DEFAULT_VALUE => ""
                ~DEFAULT_VALUE => ""
                IS_LOCATION => "N"
                ~IS_LOCATION => "N"
                PROPS_GROUP_ID => "1"
                ~PROPS_GROUP_ID => "1"

Могу представить только единичные случаи, где это может понадобится, и то, есть замечательные фукнции вроде htmlspecialcharsBack() которые могут вернуть в исохдный вид обработанный код.

Но зато у нас ровно в два раза увеличивается размер кеша, и приходится дольше скролить мышкой когда мы смотрим что же у нас в arResult.

В своих компонентах всегда можно написать $dbElement->GetNext(true, false);, а в дефолтных приходится всегда наблюдать это чудо.

Давайте сделаем какой-то служебный параметр вроде "SHOW_TILDA" => "N", и если он задан - то чистить код и убирать всё лишнее.
Рейтинг: 0.2974  
Внедрено
Предложил Валерий Чебан 03.09.2013 12:19:12

CCurrencyRates::ConvertCurrency() какой из этих методов вызывается и когда?

Модуль торгового каталога и интернет магазина зависит от модуля валют (без него не работает).
Итого, кто мне объяснит наличие такого же класса и метода CCurrencyRates::ConvertCurrency() во всех этих трех модулях?

вот где есть класс CCurrencyRates и метод у него ConvertCurrency():

modules\catalog\mysql\currency.php
modules\sale\mysql\currency.php
modules\currency\mysql\currency_rate.php

Зачем первые два? Когда они используются?

Нужно убрать из торгового каталога и интернет магазина этот класс, оставить только там, где ему место - в модуле валют.
Рейтинг: 0.1861  
Ответил Жуков Евгений 03.09.2013 13:16:52
Ни в sale, ни в catalog нет такого класса. Он есть только в модуле currency. Обратитесь в техподдержку, раз на Вашей установке наблюдается такая картина.
Рейтинг: 42.4064  
Новая
Предложил Валерий Чебан 23.08.2013 13:30:22

Файлы index.php в выдаче поиска, убирать при константе BX_DISABLE_INDEX_PAGE

Почему при установленной константе  в dbcon.php
define('BX_DISABLE_INDEX_PAGE', true);

поиск (стандартный компонент "страница поиска") все равно возвращает ссылки с index.php (/folder/index.php)

Нужно их убирать при этой константе.
Рейтинг: 41.8046  
Внедрено
Предложил Валерий Чебан 21.08.2013 00:13:11

Использовать mysqli вместо устаревшего mysql

Интересно, есть в планах? mysql-расширение уже объявлено как deprecated
Рейтинг: 1.2901  
Ответил Dumbravanu Vadim 13.05.2014 14:24:38
В обновлении ядра 14.5.2 будет поддержка mysqli.

\bitrix\php_interface\dbconn.php
define("BX_USE_MYSQLI", true);

\bitrix\.settings.php
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
Рейтинг: 35.6686  
На голосовании
Предложил Валерий Чебан 10.07.2013 22:36:40

Оптимизировать проверку прав доступа к медиабиблиотеке

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

Т.е. чем больше альбомов - тем тормознутей будет работать эта проверка прав доступа к альбомам медиабиблиотеки.

Иными словами, нужно проверить сперва общий доступ ко всем типам медиабибилиотеки, а затем уже к каждому альбому, а не на каждом хите админки проверять права доступа ко всем альбомам.

Сейчас у нас определенным пользователям запретили доступ к медиабибилотеке вообще, но на каждом хите у них проверяется права к альбомам.

Технические детали:

/bitrix/modules/fileman/classes/general/medialib.php
CanDoOperation убрали проверку прав досупа не для админов - страшно вешает сайт при проверке прав доступа для всех не админов (собирает права всех альбомов в массив, а затем проверяет).
Рейтинг: 5.4511  
Новая
Предложил Клoкoв Денис 19.04.2013 11:23:55

Нужны add, update, delete для веб-форм

Почему-то нет API для создания, редактирования, удаления веб-форм. Если я хочу обернуть сайт в мастер, где есть веб-формы приходится городить и юлить. По-моему вообще правильно что все что делается через админку можно сделать средствами API. Даже агенты можно добавлять для запуска! А создать форму нет
Рейтинг: 0.7337  
Новая
Предложил Сечкин Сергей 12.04.2013 10:39:29

Сделать описание массива $arResult в шаблонах компонентов.

Сделайте уже наконец описание массива $arResult  в шаблонах компонентов, а лучше в самой документации. Надоело каждый раз делать var_dump и гадать где и что спрятано в массиве!

Сделайте хоть вот так вот в шаблонах (template.php),  если лень делать в документации описание:

/*Описание массива $arResult:Array(   "ITEMS" => "Это список чего-то"   "NAVIGATION" => "Это массив с данными навигации"   .   .   .   и т.д.) */ 
Рейтинг: 35.4775  
На голосовании
Предложил Семочкин Михаил 26.03.2013 13:01:08

Автогенерация недостающих страниц документации

Предлагаю на основе модуля  Живое описание АПИ сделать автоматический (или хотя бы автоматизированный) апдейт документации.

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

Если бы попутно отмечалось бы с какой по какую версию существует та или иная функция/событие, то было бы еще лучше.
Рейтинг: 3.5024  
На голосовании
Предложил Черкашин Никита 18.03.2013 17:06:02

API скидок для генерации фильтров инфоблоков

Сейчас скидки применяются непосредственно во время выборки товаров путем создания условия в классе (CCatalogCondTree ....)
(!(($arProduct['ID'] == 30) && (false !== strpos($arProduct['NAME'], "Кур")))) 
Было бы здорово расширить это API, что бы возвращался фильтр для GetList'a инфоблоков, что позволит выбирать такие товары и использовать их к примеру в разделе скидки и акции да и много других возможностей даст для расширения функционала.