партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Универсальная галерея - модуль для битрикс
Это форум по решению для битрикс «Модуль Универсальные свойства привязки».
Страницы: 1
Ответить
RSS
Зависимость списка элементов в одном свойстве от другого
 
Здравствуйте!
У меня есть небольшой вопрос по модулю.
Ситуация следующая.
Я создал информационный блок, где в качестве разделов вводятся клиенты, а в качестве элементов магазины принадлежащие данным клиентам.



Допустим Раздел (Клиент 1), а элементы данного раздела (Магазин 1-1, Магазин 1-2, Магазин 1-3)
Далее надо в карточке пользователя в админке внести эти данный, для этого я создал пользовательские поля.
1е пользовательское поле с привязкой к разделам данного инфоблока
2е пользовательское поле с привязкой к элементам данного инфоблока
И все бы хорошо, но мне надо еще привязать к раздела, элементы инфоблока.
Т.е. если я выбираю из списка "Клиент 1", то во втором пользовательском поле, должны выбираться из списка "Магазин 1-1, Магазин 1-2, Магазин 1-3",



а по умолчанию выводятся все элементы



Скажите, пожалуйста, может ли Ваш модуль справится с такой задачей.
Или если не сложно, скажите пожалуйста, какой файл отвечает за вывод данных списков, я попробую реализовать через jQuery
 
Да, это возможно, но вам придется дорабатывать шаблон компонента "grain:links.edit". Вы можете скопировать шаблон и указать его в настройках свойства, либо скопировать под именем .default в шаблон сайта по умолчанию, и тогда он будет использоваться везде.

Некоторые рекомендации по доработке шаблона:

Если вы будете использовать простой выбор или выбор с поиском (без аякс), то вам нужно будет с помощью яваскрипта модифицировать список элементов - он находится в переменной GRAIN_LINKS_EDIT_DEFAULT.lists[instance_id] (где instance_id - это идентификатор экземпляра каждого отдельного компонента, он генерируется автоматически и вы можете его сохранить в какой-то переменной в шаблоне, например, определяя какое у вас в данном случае свойство по параметру $arParams["INPUT_NAME"], а также массив выбранных элементов GRAIN_LINKS_EDIT_DEFAULT.selected[instance_id].

Если же будете использовать аякс, то можете модифицировать только GRAIN_LINKS_EDIT_DEFAULT.selected[instance_id], а для доработки выборки списка придется немного доработать функцию GRAIN_LINKS_EDIT_DEFAULT.search, там подставить в arData ваш идентификатор клиента, после чего скопировать источник данных (эта процедура описана в справке), и в источнике данных уже ограничивать список на php (получая идентификатор клиента из $_REQUEST). Возможно, второй способ даже проще, только при выборе другого клиента не забывайте очищать выбранные магазины (переменная GRAIN_LINKS_EDIT_DEFAULT.selected и span в котором находятся названия и hidden-поля выбранных элементов)

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

Там можете и jQuery использовать, только тогда вам придется позаботиться о его подключении, т.к. сам модуль jQuery не использует. Хотя я бы посоветовал вам для этой задачи тоже его не использовать, серьезных причин, мне кажется, нет для этого.
 
michael kors outlet
coach outlet
polo ralph lauren
fred perry polo shirts
coach outlet
moncler jackets
clarks shoes
oakley sunglasses
polo shirts
oakley sunglasses wholesale
kate spade outlet
pandora jewelry
gucci outlet
canada goose jackets
pandora jewelry
canada goose jackets
rolex watches
adidas yeezy shoes
michael kors outlet
coach factory outlet
ray ban sunglasses
pandora outlet
valentino outlet
michael kors outlet
pandora charm
canada goose outlet
birkenstock shoes
oakley sunglasses
uggs canada
coach outlet
adidas nmd shoes
moncler outlet
polo ralph lauren
christian louboutin outlet
moncler outlet
canada goose outlet
ugg outlet
kate spade outlet
polo ralph lauren
cheap nfl jerseys
coach outlet
vibram fivefingers
giuseppe zanotti outlet
michael kors handbags
michael kors outlet
coach outlet
coach outlet online
mont blanc pens
uggs outlet
michael kors handbags
ray ban outlet
giuseppe zanotti outlet
coach outlet online
pandora outlet
nike shoes
cheap oakley sunglasses
coach outlet
coach outlet
ugg outlet
mbt shoes
canada goose outlet
ferragamo shoes
uggs outlet
kate spade outlet
coach outlet store online
michael kors outlet
nike outlet
nfl jerseys wholesale
michael kors outlet
christian louboutin outlet
ralph lauren shirts
asics running shoes
adidas outlet
pandora jewelry
pandora charms
kate spade outlet
polo outlet
true religion outlet
christian louboutin outlet
pandora outlet
canada goose jackets
ralph lauren outlet
pandora outlet
ugg boots
cheap ugg boots
fred perry polo shirts
coach outlet
polo ralph lauren
nfl jerseys wholesale
vans shoes
michael kors outlet clearance
canada goose outlet
cheap mlb jerseys
cheap ugg boots
nfl jerseys wholesale
moncler outlet
pandora jewelry
fitflops sale clearance
michael kors outlet
michael kors outlet
christian louboutin shoes
mcm outlet
coach factory outlet
michael kors outlet
canada goose
kate spade outlet
coach factory outlet
ralph lauren polo
canada goose jackets
polo outlet
michael kors outlet
coach outlet
polo outlet
nfl jerseys wholesale
michael kors handbags
coach outlet
true religion jeans
ugg outlet
air max 2017
ralph lauren outlet
polo ralph lauren
christian louboutin outlet
christian louboutin outletyaoxuemei20180811
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить картинки
Отправить Отменить