Может ли условный раздел "когда" отображать содержимое на основе параметра "содержит" или "включает"?

Я использую TBS/OpenTBS (спасибо Skrol, это круто) для создания документов Word на основе ввода формы. Одним из полей формы является флажок. Допустим, у него есть десять вариантов. Я могу нормально отображать содержимое, если выбран один параметр, но если, скажем, выбраны 4 параметра, мне нужно определить условие в моем шаблоне для того, что произойдет, если выбраны эти точные 4 параметра. Я должен был бы сделать то же самое для любой другой перестановки.

Я пытаюсь использовать условный раздел "когда", чтобы он вел себя так, как будто у него есть параметр "содержит" или "включает", но я не знаю, возможно ли это. Я хочу иметь возможность использовать этот подход в шаблоне:

  • Если отмечен вариант А (независимо от того, отмечены ли другие), выведите это
  • Если опция B отмечена (независимо от того, отмечены ли другие), выведите
  • Если опция C отмечена (независимо от того, отмечены ли другие), выведите что-то еще
  • И т. Д. Для оставшихся вариантов
  • Если ни один из них не отмечен, ничего не выводится

Учитывая, что может быть большое количество перестановок, я не хочу определять условие для каждой перестановки. Я просто хочу, чтобы шаблон выводил определенный абзац, если отмечена опция, независимо от того, отмечены ли другие, и это будет применяться для каждого параметра.

Надеюсь, что это имеет смысл. Кто-нибудь знает, может ли TBS сделать это, пожалуйста? Большое спасибо.

0 ответов

Параметр magnet + ope=mok сделано для такой цели.

С помощью ope=mok:1поле TBS сохранит цель магнита, если значение поля равно 1, и удалит цель магнита в других случаях. Поле TBS никогда не отображается с ope=mok,

И если вы используете параметр noerr, тогда ошибка не будет отображаться, если подпункт не найден. Это может случиться с элементами управления флажками HTML: они просто ничего не возвращают, когда не отмечены.

Пример шаблона: (каждый ин это абзац)

[f_data.OptionA;noerr;ope=mok:1;magnet=tbs:p] output this
[f_data.OptionB;noerr;ope=mok:1;magnet=tbs:p] output that
[f_data.OptionC;noerr;ope=mok:1;magnet=tbs:p] output something else

Соответствующий фрагмент PHP:

$form_data = ...;
$TBS->MergeField('f_data', $form_data);
Другие вопросы по тегам