Как вывести checkbox в TicketForm?

Приветствую!
Есть tv — us_specialization. Тип ввода — checkbox.

@EVAL
$output = $modx->runSnippet('pdoResources',array(
  'context'=>$modx->resource->getOne('Context')->key,
  'parents'=>'10',
  'where'=>'{"published:=": 1}',
  'tpl'=>'@INLINE [[+pagetitle]]==[[+id]]',
  'outputSeparator'=>'||',
  'sortby'=>'menuindex',
  'sortdir'=>'ASC',
  'limit'=>'0',
  'showHidden'=>true));
return '||' . $output;
В parents 10 содержится список ресурсов.

В форме создания и редактирования тикета нужно вывести чекбоксы. Каждый чекбокс — отдельный ресурс.
Плюс нужно чтоб чекбоксы могли перезаписываться после сохранения на фронте.

Ума не приложу, как это можно сделать.
Кто с таким сталкивался? Подскажите!
Rootiys
16 сентября 2018, 11:10
90
0

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

Баха Волков
16 сентября 2018, 11:37
0
Так, значение TV в базе будет выглядеть так: 10||56||84 т.е. список id с разделителем. У TV тип вывода должен быть разделитель запятая.

Вот что я могу посоветовать:

  • В форме вывести скрытый input этого TV с его значением. Пример:
    <input type="hidden" name="name-of-tv" value="[[*name-of-tv:replace=`,==||`]]">  // В value мы получим что-то типа 10||56||84
  • Вывести список ресурсов в виде checkbox-ов где в value будут их id, например с помощью pdoResources
  • С помощью js отслеживать чекнутых на всю голову записывать в value нашего скрытого TV в формате в котором хранится в бд
  • И всё. Ну еще при выводе списка чекбоксов нужно проверять и указывать атрибут checked
Это теория, но она должна работать. Предполагаю, что могут быть способы изящнее основанные на использовании плагинов.