Установить значение TV типа radio через сниппет

Здравствуйте!

Есть TV типа «radio» со значениями:
Да==true||Нет==false

Как через сниппет установить значение «Да» у ресурса?

Пробовал прописывать:
$page = $modx->getObject('modResource', 1);
$page->setTVValue('test', true);
Никита Боднар
17 октября 2022, 21:42
modx.pro
748
0

Комментарии: 9

Артур Шевченко
17 октября 2022, 23:35
0
Всё правильно пробовал, только если ниже не было
$page>save();
то не удивительно, что значение не установилось.
    vectorserver
    18 октября 2022, 08:05
    +2
    setTVValue — В отличие от некоторых других методов API xPDO, метод немедленно сохраняет значения в базе данных, поэтому не нужно вызывать отдельный вызов метода save().
vectorserver
18 октября 2022, 08:08
+1
Попробуй сохранять булев как строку!
$page = $modx->getObject('modResource', 1);
$page->setTVValue('test', 'true');
    Никита Боднар
    18 октября 2022, 11:19
    0
    Так сработало, но save() всё-таки нужен в этом случае.
      Никита Боднар
      18 октября 2022, 11:35
      0
      Точнее не в этом случае, а в том случае, если у TV стоит проверка на заполненность.
    Артур Шевченко
    18 октября 2022, 11:01
    0
    Вот так точно сработает
    $page->setTVValue('test', 1);
      Никита Боднар
      18 октября 2022, 11:19
      0
      Так тоже пробовал, результата ноль.
        vectorserver
        18 октября 2022, 14:16
        0
        boolean setTVValue (str|integer $tv_name OR ID of TV, string $value)
        Тип второго параметра должен быть обязательно строкой!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9