Может ли условный раздел "когда" отображать содержимое на основе параметра "содержит" или "включает"?
Я использую 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);