Рейтинг: 0.3956  
На голосовании
Предложил Лютых Александр 03.03.2014 11:58:34

SEO-свойства в компонентах

В iblock v14.0.5 были исправлены ошибки с работой с СЕО свойствами, но это только в компонентах.
Я столкнулся с необходимостью вытащить эти свойства в API(в документалке пока пусто).
Порыв компонент нашел код, который вытаскивает их:
$ipropValues = new \Bitrix\Iblock\InheritedProperty\SectionValues(ид инфоблока, ид раздела);
$ar = $ipropValues->getValues();

Идея в том, чтобы внедрить это в человеческое API.
Спасибо!
Рейтинг: -0.389  
На голосовании
Предложил Морковкин Никита 06.02.2014 16:26:03

Единая точка входа в web-приложение

В современных web-приложениях принято использовать концепцию единой точки входа. Эта концепция сводится к тому, что все запросы к серверу приложения переадресовываются на один файл, который, исходя из параметров запроса, координирует дальнейшее поведение скрипта.

подробнее на http://habrahabr.ru/post/115389/
Рейтинг: 24.8167  
Новая
Предложил Диденко Денис 28.01.2014 13:45:19

Нужно событие по подписке на товар, которого нет в наличии

Для чего нужно, куча менеджеров не смотрит в отчеты, нужно отправлять менеджеру письмо, или смс при подписке на товар, в настоящий момент реализовать это без модификации компонентов/ядра не представляется возможным.
Если есть другой путь, подскажите направление в котором двигаться.

Если хотите поставить идее минус, пожалуйста аргументируйте свою позицию в комментарии.
Рейтинг: 3.9352  
На голосовании
Предложил Морковкин Никита 12.12.2013 13:55:10

Реализовать выбор DbConnection для {Model}Table

Кратко:
Сейчас ORM можно использовать только для соединения default

Полно:
Если заглянуть в Bitrix\Main\Entity\DataManager,
можно найти функцию getConnectionName

Переопределение в дочернем классе этой функции не дает желаемого результата!
Все равно используется соединение default

В коде Bitrix\Main\Entity\Query (возможно ещё где-то) можно встретить такую конструкцию:
\Bitrix\Main\Application::getConnection()
Явно видно что не используется название соединения из класса {Model}Table а хотелось бы
Рейтинг: 1.2145  
Новая
Предложил Шишкин Алексей 11.12.2013 17:44:59

Импорт пользователей в формате CSV с хешами паролей

При переносе сайтов часто необходимо импортировать пользователей с их хешами. Чтобы не городить скриптописание, оптимально было бы предусмотреть поле PASSWORD_HASH в файле csv. Для этого нужно изминить всего один файла: класс CUser.

// if isset password hash, just save it
if(is_set($arFields,"PASSWORD_HASH"))
   $arFields["PASSWORD"] = $arFields["PASSWORD_HASH"];
else
      $arFields["PASSWORD"] = $salt.md5($salt.$arFields["PASSWORD"]);   
 
Рейтинг: 31.6013  
Новая
Предложил Анцупов Сергей 12.11.2013 17:44:43

Создать отдельный домен для API

Предлагаю вынести на отдельный домен "API для разработчика"(Например:  api.1c-bitrix.ru). Мне кажется,это проще и понятнее, чем dev.1c-bitrix.ru/api_help/.
Рейтинг: -5.2477  
На голосовании
Предложил Шерлок Холмс 29.09.2013 02:13:17

Вариант привязки к элементам - "все"

Например, у нас есть свойство "Привязка к элементам инфоблока", и было бы круто иметь возможность сделать вариант ответа "Все", чтобы автоматически для этого элемента считались выбранными все текущие значения, плюс все последующие, которые будут добавлены.

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

А потом, при фильтрации, когда нужно выбрать все элементы с привязкой к определенной марке, туда бы выбирались так-же и элементы с привязкой с типом "все".
Конечно, это можно как-то и через подзапросы делать, но было бы удобно такой вариант ответа для свойств иметь в стаднартной поставке.
Рейтинг: -1.5806  
Отложено
Предложил Валерий Чебан 27.09.2013 19:43:41

Add2BasketByProductID не добавляет в корзину не активные товары, возможность управлять этим поведением

Было бы не плохо добавить последний параметр:

function Add2BasketByProductID(
  $PRODUCT_ID,
  $QUANTITY = 1,
  $arRewriteFields = array(),
  $arProductParams = false,
  $arFilterToCheckElementExistsRewrite = array()
)

и использовать его для проверки существования элемента перед выбросом исключения:
"NO_IBLOCK_ELEMENT".

Сейчас для этой проверки используется жесткий фильтр:
array(
"ID" => $PRODUCT_ID,
"ACTIVE" => "Y",
"ACTIVE_DATE" => "Y",
"CHECK_PERMISSIONS" => "Y",
"MIN_PERMISSION" => "R",

 )

Довеской кроме ID хочется управлять.

UPD Как я понял смысл минуса:
нецелесообразно. Хотите изменить - копируете функцию и меняете
Рейтинг: -0.3687  
Ответил Жуков Евгений 28.09.2013 12:48:47
Вы можете воспользоваться методом CSaleBasket::Add для реализации собственной логики добавления в корзину и актуализации ее содержимого.
Рейтинг: 11.0749  
На голосовании
Предложил Шерлок Холмс 26.09.2013 23:10:19

Фильтрация в Умном фильтре по связанным элементам

Есть товар, у него свойство "Производитель" с типом "Привязка к элементам инфоблока",
а у производителя есть свойство "Страна".

Хочется иметь штатную возможность фильтровать товары по странам (то есть, по свойствам связанного элемента).

Пока что фильтрация по связанным свойствам поддерживается только для элементов СКУ, но она так же очень нужна и для обычных свойств.
Рейтинг: 1.001  
На голосовании
Предложил Шерлок Холмс 20.09.2013 01:47:00

Убрать кнопку "Создать страницу" и оставить только "Создать раздел"

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