партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Универсальная галерея - модуль для битрикс
Это форум по решению для битрикс «Модуль Универсальные свойства привязки».
Страницы: 1
Ответить
RSS
Использование модуля в iblock.element.add.form
 
Отличный модуль! Спасибо за разработку! :):)
Такой вопрос появился: создали мы инфоблок, сделали там кастумную привязку и т.д.
Далее мы хотим дать редактирование и добавление этих инфоблоков юзерам, для чего используем iblock.element.add.form
А вот можно ли в iblock.element.add.form использовать ваш модуль? И как это сделать?
 
Ещё момент, а что означают параметры FIELD_CODE и VALUE при вызове компонента grain:links.edit ?
 
Короче, разобрался. Делается, также как и на Свойствах-таблицах.
В шаблоне компонента ищем код строки:
Код

case "S":

   case 
"N":
далее пихаем:
Код

case "S":

   case 
"N":
                        
                        
// если у нас поле "свойства таблицы" - модуль Эстрина
                        
if($arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE"]=="gtable") {
                        
                           if(
$arResult["PROPERTY_LIST_FULL"][$propertyID]["MULTIPLE"]=="Y") {
                              
$value=Array();                           
                              if(
is_array($arResult["ELEMENT_PROPERTIES"][$propertyID]) ) {
                                 foreach(
$arResult["ELEMENT_PROPERTIES"][$propertyID] as $v) {
                                    if(
count($v["~VALUE"]) > 0){
                                       
$value[] = $v["~VALUE"];
                                    }
                                 }
                              }
                           }else{
                              
$value $arResult["ELEMENT_PROPERTIES"][$propertyID];
                           }
                        
                           
$GLOBALS["APPLICATION"]->IncludeComponent(
                              
"grain:table.edit",
                              
$template_name,
                              Array(
                                 
"SETTINGS" => $arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE_SETTINGS"],
                                 
"MULTIPLE" => $arResult["PROPERTY_LIST_FULL"][$propertyID]["MULTIPLE"]=="Y"?"Y":"N",
                                 
"USER_FIELDS" => "N",
                                 
"VALUE" => $value,
                                 
"NAME" => $arResult["PROPERTY_LIST_FULL"][$propertyID]["MULTIPLE"]=="Y"?"PROPERTY[".$propertyID."]":"PROPERTY[".$propertyID."][0]",
                              ),
                              
null,
                              array(
'HIDE_ICONS' => 'Y')
                           );
                        
// если у нас поле "Универсальная привязка
                        
}elseif($arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE"]=="grain_link"){
                           echo 
'<pre>'print_r($arResult["PROPERTY_LIST_FULL"][$propertyID]); echo '</pre>';
                           echo 
'<pre>'print_r($arResult["ELEMENT_PROPERTIES"][$propertyID]); echo '</pre>';
                           if(
$arResult["PROPERTY_LIST_FULL"][$propertyID]["MULTIPLE"]=="Y") {
                              
$value=Array();                           
                              if(
is_array($arResult["ELEMENT_PROPERTIES"][$propertyID]) ) {
                                 foreach(
$arResult["ELEMENT_PROPERTIES"][$propertyID] as $v) {
                                    if(
count($v["~VALUE"]) > 0){
                                       
$value[] = $v["~VALUE"];
                                    }
                                 }
                              }
                           }else{
                              
$value $arResult["ELEMENT_PROPERTIES"][$propertyID];
                           }
                           echo 
'<pre>'print_r($value); echo '</pre>';
                           
$GLOBALS["APPLICATION"]->IncludeComponent(
                              
"grain:links.edit"
                              
".default"
                              array(
                                 
"DATA_SOURCE" => "iblock_element",
                                 
"INPUT_NAME" => "PROPERTY[303]",
                                 
"MULTIPLE" => "Y",
                                 
"USE_AJAX" => "N",
                                 
"SHOW_URL" => "N",
                                 
"IBID" => "35",
                                 
"FIELD_CODE" => "NAME",
                                 
"VALUE" => $value,
                                 
"NAME_TRUNCATE_LEN" => "",
                                 
"SCRIPTS_ONLY" => "N",
                                 
"ON_AFTER_SELECT" => "",
                                 
"ON_AFTER_REMOVE" => "",
                                 
"USE_SEARCH" => "N",
                                 
"USE_SEARCH_COUNT" => "",
                                 
"EMPTY_SHOW_ALL" => "Y",
                                 
"IBLOCK_TYPE" => "service",
                                 
"IBLOCK_ID" => "35",
                                 
"PARENT_SECTION" => "0",
                                 
"INCLUDE_SUBSECTIONS" => "Y",
                                 
"ACTIVE" => "N",
                                 
"CHECK_DATES" => "N",
                                 
"CHECK_PERMISSIONS" => "Y",
                                 
"SORT_BY1" => "NAME",
                                 
"SORT_ORDER1" => "ASC",
                                 
"SORT_BY2" => "SORT",
                                 
"SORT_ORDER2" => "ASC",
                                 
"DETAIL_URL" => "",
                                 
"CACHE_TYPE" => "A",
                                 
"CACHE_TIME" => "0"
                              
),
                              
false
                           
);
                        }                        
                        else 
// все остальные случаи полей
                        
{
 
Цитата
Эрли написал:
Делается, также как и на Свойствах-таблицах.
В шаблоне компонента ищем код строки...

Да, можно так если этот компонент все еще не поддерживает пользовательские типы свойств.

А вот "Универсальные списки" в свойствах-таблицах уже поддерживаются (в универсальных свойствах привязки будет поддержка универсальных списков в след. версии).
 
Цитата
Сергей Эстрин написал:
Да, можно так если этот компонент все еще не поддерживает пользовательские типы свойств.
Если взять компонент, и поставить дефолтный шаблон, то выводятся просто input`ы куда надо вбивать id элементов инфоблока для подвязки. Т.е. формально то редактировать можно, но компонент grain:links.edit не подтягивается. А тут весь смысыл то в компоненте...
Вообще, как я вижу, разработчики битрикса не любят iblock.element.add.form. За 3 года никаких изменений... :(

Ещё вопрос: в случае если поле множественное, как можно ограничить число привязок 3-мя? А то при существующей ситуации юзер может сделать хоть 20 привязок.
 
Цитата
Эрли написал:
Ещё вопрос: в случае если поле множественное, как можно ограничить число привязок 3-мя? А то при существующей ситуации юзер может сделать хоть 20 привязок.
Может хоть 1000 и больше, это не ограничено. Ограничить можно при желании копированием компонета grain:links.edit и его доработкой (доработкой script.js).
 
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
Перетащите файлы
Ничего не найдено
Загрузить картинки
Отправить Отменить