Задать вопрос

Как получить элементы состаного поля?

Добрый вечер. Столкнулся с такой проблемой. В карточке товара задаю составное поле, в справочнике добавляю пару элементов. Когда вывожу на страницу, то получаю массив данных.
Пример:
[0] => Array ( 
            [int] => 1 
            [rel] => 24845 
            [float] => 20 
)

Я так понимаю [rel] это id элемента справочника, тогда вопрос как получить данные которые содержит этот элемент. Имя там, какое нибудь свойство если оно есть?
Пробовал вот так:
umiObjectsCollection::getInstance()->getObject()
Выводит совсем не то, что нужно. Кто сталкивался, может подскажет?
  • Вопрос задан
  • 313 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@ilyarsoftware
Стандартное использование составного поля:
$someObjectId = 1253;
    $objects = umiObjectsCollection::getInstance();
    $bar = $objects->getObject($someObjectId);
    $optioned = $bar->getValue('_');
    $data = [];
    foreach ($optioned as $item) {
        $itemObject = $objects->getObject($item['rel']);
        $data[] = array(
          'objectId' => $item['rel'],
          'name' => $itemObject->getName(),
          'value' => $item['float'],
        );
    }


Кроме этого для элемента составного поля можно использовать следующий формат:

[
  'int' => 1, // bigint(20)
  'varchar' => null, // varchar(255)	
  'rel' => null, // int(10) - идентификатор объекта (umiObject)
  'tree' => null, // int(10) - идентификатор страницы (umiHierarchyElement)
  'float' => 0 // double
],
Ответ написан
Комментировать
neverovski
@neverovski Автор вопроса
Решил задачу, не усмотрел что выводятся названия доп полей. Сделал так:
$data = umiObjectsCollection::getInstance()->getObject($arr['rel']);
$data->getValue('название доп поля');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
берете переменную которая содержит этот массив и выводите:
echo $myArray['rel'];
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы