Увы, ничего не получилось таким методом, как так описано. Пробовал подключать и на странице, и в шаблоне компонента или сайта. И дома тоже поставил виртуалку Битрикс и еще раз попробовал, тот же эффект. Значит, зависит не от косячной установки Битрикс, а от моих кривых ручек. Что-то я делаю не так.
Вот здесь
Код |
---|
"SETTINGS" => $arElement["PROPERTIES"]["prop_name"]["USER_TYPE_SETTINGS"], // массив дополнительных настроек свойства
"MULTIPLE" => $arElement["PROPERTIES"]["prop_name"]["MULTIPLE"], // множественное или нет
"VALUE" => $arElement["PROPERTIES"]["prop_name"]["VALUE"], // значение
),
|
Везде вместо prop_name я ставлю имя своего свойства "scope" типа "таблица" во всех трех строках. ( может не его нужно выводить?) Ноль эффекта.
Точно так же пытаюсь вывести компонент редактирования:
Код |
---|
$GLOBALS["APPLICATION"]->IncludeComponent(
"grain:table.edit",
"",
Array(
"SETTINGS" => $arProperty["USER_TYPE_SETTINGS"], // массив дополнительных настроек свойства
"MULTIPLE" => $arProperty["MULTIPLE"], // множественное или нет
"USER_FIELDS" => "N", // N - инфоблоки, Y - свойства главного модуля
"VALUE" => $arProperty["VALUE"], // значение
"NAME" => "MY_FIELD_NAME", // имя полей формы
),
null,
array('HIDE_ICONS' => 'Y')
);
|
получаю сообщение "колонки таблицы не созданы". Смотрю в component.php и вижу
Код |
---|
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
if(
!is_array($arParams["SETTINGS"])
|| !is_array($arParams["SETTINGS"]["COLUMNS"])
|| (is_array($arParams["SETTINGS"]["COLUMNS"]) && count($arParams["SETTINGS"]["COLUMNS"])<=0)
) {
echo GetMessage("GRAIN_TABLES_TE_COMPONENT_ERROR_NO_COLUMNS");
return;
}
$this->IncludeComponentTemplate();
|
То есть это сообщение означает, что массив $arParams["SETTINGS"] в конструкции компонента у меня в системе не подхватывается из формы редактирования элемента инфоблока - почему?
Но в элементе инфоблока колонки созданы и заполнены. Тем более, что конструкция следующего вида их вполне себе выводит поштучно
Код |
---|
<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> <?if($pid =="scope"): ?>
<? $num=$arProperty["DISPLAY_VALUE"]; ?>
<?
$i=0;
while ($i < count($num))
{ ?>
<?echo $num[$i].' '; ?>
<?$i++;
}
?>
<?endif?>
<?endforeach;
|
Вывод делаю такой - компонент в принципе работоспособен через API, вероятно, я как-то неправильно его подключаю? Не понял, как подключать? Можете помочь освоить или только платно? Купить свойства-таблицы мы готовы под проект, не проблема, но прежде нужно убедиться, что все работает корректно и что мы понимаем, как им пользоваться, собственно для этого и служат демки.