#php #pear #quickform
#php #pear #quickform
Вопрос:
Я пытаюсь создать форму с помощью quickform (по умолчанию в компании).
Эта форма состоит из нескольких частей, но на одной странице.
Я объединяю его с системой шаблонов sigma.
Идея страницы заключается в:
|-----------------------|<br>
| header |<br>
|-----------------------|<br>
| content top |<br>
|-----------------------|<br>
|first part of the form |<br>
|-----------------------|<br>
|second part of the form|<br>
|-----------------------|<br>
| footer |<br>
|-----------------------|
Теперь я создал этот макет. Но у меня проблема с формой.
Эта форма должна быть разделена на 2 части. Но quickform этого не поддерживает.
Я решил написать верхнюю часть формы как обычную часть моего шаблона, при этом эти элементы также доступны в quickform. (массив с идентификаторами, которые я также использую для отображения формы).
Теперь возникает проблема.
Как мне запретить quickform / sigma выводить элементы формы?.
<!-- BEGIN qf_checkbox -->{qf_element}<!-- END qf_checkbox -->
Это работает, но выводит их,
<!-- BEGIN qf_checkbox --><!-- END qf_checkbox -->
Это не работает.
Приветствую, Эрик
Ответ №1:
Я не знаком с этой системой шаблонов, но я бы посоветовал вам ознакомиться с ее руководством по некоторым условным функциям. Но в любом случае… простым обходным решением должно быть просто присвоение значениям значения NULL или пустых строк, так что даже если он их выводит, на самом деле отображать будет нечего.
Комментарии:
1. Проблема с этим решением заключается в том, что входные данные все еще отображаются. Кроме того, условные выражения сработали бы, если quickform предоставил бы все свои элементы.
Ответ №2:
Я решил это, просто создав отдельный элемент только для верхней формы. Он обладает всеми свойствами из qf_checkbox и некоторыми другими материалами, которые могут быть полезны.
Таким образом, мне не пришлось создавать скрытые входные данные или другие хаки. Я просто показываю верхнюю форму с этими расширенными флажками, а нижние флажки — обычные флажки. проблема устранена :).