Генерация SKU на основе свойства "привязка к элементам инфоблока"

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


Генерация СКУ на основе свойства-привязки к элементам инфоблока

Появившийся в 14-ой версии магазина генератор торговых предложений (СКУ) к сожалению не работает со свойством с типом "Привязка к элементам инфоблоков", а работает только со свойством "Список" и "Привязка к справочнику", и похоже, что разработчики не особо стремятся добавлять эту возомжность:
http://idea.1c-bitrix.ru/genenirovat-...n-context/
http://dev.1c-bitrix.ru/community/blo....php#50256

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

ссылка на скрипт (разместить в /bitrix/php_interface/init.php)

В скрипте нужно установить свои значения для переменных

static $listIblockId = 10; // Инфоблок с элементами СКУ
static $propCode = "colorlist"; // код свойства с типом "список"

static $linkedIblockId = 17; // Инфоблок со связанными элементами (на основе которых будем строить список)

Для синхронизации при прервом запуске можно запустить функцию:
YamIblockElList::SyncIblockProps();

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

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

 

 

Источник: http://dev.1c-bitrix.ru/community/webdev/user/16182/blog/9620/

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA