Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как работать с онлайн запись на прием?

Автор SumrakrndРаздел Шаблоны XSLT

Ответов: 0
Просмотров: 149
Последний ответ 09 Март 2017, 18:27:54
от Sumrakrnd

0 Пользователей и 1 Гость просматривают эту тему.

*

andrey

  • *
  • 31
  • +6/-0
    • Просмотр профиля
Запись в umiObjectPropertyOptioned
« : 29 Ноябрь 2013, 17:23:42 »
Не могу понять как писать в свойство типа "составное".
Пытаюсь записать с памощью setValue(), потом делаю коммит, но ничего.

$obj_parking_place->setValue(array(507 => '№ 8'));
$obj_parking_place->commit();

507 это id эллемента справочника, '№ 8' название.

По крайней мере getValue возвращает такой массив.

Как быть?

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:Запись в umiObjectPropertyOptioned
« Ответ #1 : 29 Ноябрь 2013, 22:31:45 »
Не могу понять как писать в свойство типа "составное".
Пытаюсь записать с памощью setValue(), потом делаю коммит, но ничего.

$obj_parking_place->setValue(array(507 => '№ 8'));
$obj_parking_place->commit();

507 это id эллемента справочника, '№ 8' название.

По крайней мере getValue возвращает такой массив.

Как быть?

Попробуйте просто
$obj_parking_place->setValue507);
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

andrey

  • *
  • 31
  • +6/-0
    • Просмотр профиля
Re:Запись в umiObjectPropertyOptioned
« Ответ #2 : 02 Декабрь 2013, 18:07:07 »
Разобрался, надо так:
$obj_parking_place->setValue( array(
'rel' => 507,
'float' => 0,
'int' => 1
));

*

ilyar

  • ***
  • 128
  • +28/-0
  • UMI.CMS, Yii, Vagrant, BEM
    • Просмотр профиля
    • ilyar на toster
Re:Запись в umiObjectPropertyOptioned
« Ответ #3 : 14 Апрель 2014, 21:30:16 »
Если надо использовать составное поле не стандартно, то можно еще так:

<?php
$page->setValue('myField', array(
  'int' => 1, // bigint(20)
  'varchar' => null, // varchar(255)
  'rel' => null, // int(10)
  'tree' => null, // int(10)
  'float' => 0 // double
));



Важно  у массива обязательно должно быть минимум два элемента с не нулевыми значениями.

Может на эту тему будет полезный материал: