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

Рейтинг: -1  
Внедрено
Предложил Пользователь 1692345 30.08.2019 12:58:18

GetPublicEditHTMLMulty для Пользовательского свойства

Добавить метод GetPublicEditHTMLMulty для Пользовательского свойства который будет отвечать за вывод множественного свойства в публичной части сайта. На подобие того как это сделано для вывода множественного свойства в административной части.
Рейтинг: 0.8902  
Ответил Жуков Евгений 02.09.2019 16:50:24
Поддержка метода GetPublicEditHTMLMulty давно реализована (https://dev.1c-bitrix.ru/api_help/iblock/classes/user_properties/GetPublicEditHTMLMulty.php)
Рейтинг: 0  
Внедрено
Предложил Пользователь 528069 31.10.2016 17:19:49

Возможность использовать массивы свойств в фильтре CIBlockProperty::GetList

Сейчас в фильтре функции CIBlockProperty::GetList можно использовать только числовые значения, из-за этого приходится делать циклы, что плохо сказывается на производительности
Рейтинг: 0.6288  
Ответил Жуков Евгений 31.10.2016 17:27:28
Используйте \Bitrix\Iblock\PropertyTable::getList. Расширять CIBlockProperty::GetList не планируется.  
Рейтинг: 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 шаблона. Если этого не сделать - ее значение может не повлиять на идентификатор кеша компонента, что приведет к ошибкам в отображении.
Рейтинг: 1.2315  
Внедрено
Предложил Пользователь 206404 31.08.2015 14:32:02

CIBlockElement::GetList Сортировка по количеству товара на определенном складе

Фильтрация по наличию товара на конкретном складе есть, но не хватает ещё сортировки по количеству товара на конкретном складе.
Рейтинг: 0.5047  
Ответил Жуков Евгений 31.08.2015 16:44:03
Выйдет catalog 15.5.4
Рейтинг: 3.462  
Внедрено
Предложил Пользователь 189071 20.07.2015 11:03:05

Добавить в CIBlockElement::GetList поддержку сортировки по значению

Для реализации своей сортировки не нарушая стандартную пагинацию было бы неплохо добавить сортировку по значению при помощи sql функции FIELD.
SEL ECT * FR OM b_iblock_element ORDER BY FIELD(ID, '23829' , '23825' , '23849')
Составив свой массив ID можно было бы, к примеру, выводить товары в определенном порядке.
Рейтинг: 1  
Ответил Жуков Евгений 23.07.2019 15:18:13
Выйдет в iblock 18.6.700
Рейтинг: 3.6363  
Внедрено
Предложил Пользователь 3308 15.05.2015 14:20:46

При сортировке списка товаров НЕ учитываются цены товаров с SKU

API:
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
  • catalog_<CATALOG_FIELD>_<PRICE_TYPE> - по полю CATALOG_FIELD (может быть PRICE - цена или CURRENCY - валюта) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3);
Когда в списке выводится родительский товар не имеющей цены, но имеющий множество предложения (SKU), то он из сортировки выпадает. Просим доработать API для этого случая.
Рейтинг: 0  
Ответил Жуков Евгений 04.10.2018 17:56:11
Выпущено в связке catalog 17.6.0 + iblock 17.6.0
Рейтинг: 12.9937  
Внедрено
Предложил Пользователь 13856 11.01.2015 13:54:28

Прекратить использовать некорректный JSON в ответах Битрикса

При обновлении корзины, при добавлении товара в корзину через AJAX Битрикс возвращает этакий «псевдо-JSON»:
{'STATUS':'OK','MESSAGE':'Товар успешно добавлен в корзину'}

Что с ним не так? У него неправильные кавычки. Из-за этого стандартная JS-функция JSON.parse(), обёртка $.get('...', {}, function() {}, 'json') не работают, потому что не распознают эту фигню.

Неясно, нафига было городить свой дурацкий велосипед, когда можно было в PHP просто использовать json_encode(), которая из массива выдала бы корректный результат, который был бы понятен в обычном JavaScript-е.

Соответственно, предлагаю подобную фигню убрать и впредь использовать корректный JSON.
Рейтинг: 2.1914  
Ответил Жуков Евгений 20.09.2016 16:24:17
Выйдет в iblock 16.5.416.6.1
Update. В обновлении iblock 17.0.0 при рефакторинге эта правка была, увы, затерта. Исправление выйдет в ближайшем обновлении (следующем после iblock 17.0.9)
Рейтинг: 21.6961  
Внедрено
Предложил Пользователь 246496 11.09.2014 12:27:44

CIBlockElement::GetList order by IBLOCK_SECTION_ID

Не хватает
Рейтинг: 0.4145  
Ответил Жуков Евгений 15.10.2014 16:59:37
iblock 15.0.1
Рейтинг: 42.864  
Внедрено
Предложил Пользователь 248851 11.08.2014 11:55:30

Релевантный поиск по каталогу. Компонент catalog.search

Сейчас нет возможности получить релевантный результат поиска по каталогу, если использовать компонент catalog.search. Т.е. пользователь при поиске по запросу "Мясо" может получит несколько страниц с товарами, где есть в описание слова "Мясо", а потом уж сам товар с название "Мясо".

Почему так происходит?
 Своей особой логики по сути у компонента  catalog.search в файле component.php нету. Шаблон компонент состоит из search.page в связке с catalog.section. search.page формирует массив $arElements состоящий из ID элементов отсортированных по релевантности и передает в catalog.section.

Проблема состоит в том, что catalog.section сортирует массив данных по своим правилам из параметров ELEMENT_SORT_FIELD и ELEMENT_SORT_FIELD2, где исходная сортировка не учитывается. Корректная сортировка  данных в result_modifier.php возможно только, когда нету разбиения на страницы данных.

Если посмотреть компонент catalog.section, то он основан на CIBlockElement::GetList функции.

Чтобы решить проблему нужно добавить в новый тип сортировки (на пример default)  в функции CIBlockElement::GetList, чтобы получить релевантный поиск, т.е. чтобы входной массив ID элементов и задав сортировку элементов.
Или переработать этот компонент, чтобы была возможность получить релевантные данные поиска.
Рейтинг: 0  
Ответил Жуков Евгений 23.07.2019 15:42:55
Выйдет в iblock 19.0.0. Возможен сдвиг обновления.
Рейтинг: 6.0121  
Внедрено
Предложил Пользователь 3089 15.05.2014 16:26:52

Добавить в CIBlockElement::GetList наравне с CATALOG_QUANTITY выборку CATALOG_QUANTITY_RESERVED

Сейчас (инфоблоки 14.5.3, каталог 14.5.3) этот метод выбирает много о товаре вместе с элементом инфоблока, но не количество зарезервированного товара. Приходится делать дополнительную выборку на основе CCatalogProduct::GetList. При наличии двух выборок, соединение в CIBlockElement::GetList с таблицей товаров уже не имеет смысла, раз все равно собирать данные о товаре отдельным вызовом.

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

Данное усовершенствование API особенно сильно требуется в скриптах по обмену остатками (с 1С или другими системами учета товаров). Несмотря на развитие интеграции с 1С свои скрипты будут работать еще годы, т.к. конфигурации 1С поднять до нужного уровня очень сложно.

Предложил сначала в поддержке, получил предложение-отписку насчет сайта идей. Обращение 487565.
Рейтинг: 0.1389  
Ответил Жуков Евгений 20.05.2014 17:30:33
Выйдет в catalog 14.5.5

P.S. В нашем коде мы уходим от использования CIBlockElement для получения инфомации о товаре как таковом.
Рейтинг: 0.2974  
Внедрено
Предложил Пользователь 17890 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. Обратитесь в техподдержку, раз на Вашей установке наблюдается такая картина.
Рейтинг: 41.8046  
Внедрено
Предложил Пользователь 17890 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',
Рейтинг: 45.4078  
Внедрено
Предложил Пользователь 3308 17.08.2013 16:34:40

При включенном кэшировании компонента, вложенный компонент свои css и js файлы не подключает, а так же не отрабатывает component_epilog вложенного компонента.

Например если из шаблона компонента отображения детальной страницы товара bitrix:catalog.element
вызвать какой-нибудь другой компонент (например: купить в 1 клик, оповестить о поступлении заказа на склад итд), то при включенном кэшировании style.css и style.js вложенных компонентов не подключится , а так же не отрабатывает component_epilog вложенного компонента.

Обсуждалось многократно на форумах:
http://dev.1c-bitrix.ru/community/forums/forum6/topic49425/
http://dev.1c-bitrix.ru/community/webdev/group/15/forum/message/36526/200814/#message200814
http://dev.1c-bitrix.ru/community/forums/messages/forum6/topic50361/message268132/