Jump to content

Отображение формы

Приведение объекта $form в строку возвращает HTML код для отображения формы. Обычно вам не нужно приводить форму явно, просто добавьте её в буфер отображения, например \IPS\Output::i()->output.

\IPS\Output::i()->output .= $form;

Добавление собственного CSS в форму

По умолчанию форма горизонтальная. Чтобы сделать её вертикальной, или применить какой-либо класс, вы должны сделать следующее:

$form->class = 'ipsForm_vertical';

Свойство class представляет собой простую строку (не массив), поэтому просто используйте список имен классов CSS, разделенных пробелами. Если вы используете свои собственные стили CSS, а не встроенные классы, не забудьте также добавить свой CSS файл!

Использование шаблонов пользовательских форм

По умолчанию для отображения формы используются стандартные встроенные шаблоны форм. Однако для дальнейшей настройки вы можете вызвать $form->customTemplate() передавая обратный вызов с шаблоном для использования. Это позволяет полностью настроить внешний вид формы.

Это необходимо для использования шаблона, который выглядит лучше в модальном окне:

\IPS\Output::i()->output = $form->customTemplate( array( call_user_func_array( array( \IPS\Theme::i(), 'getTemplate' ), array( 'forms', 'core' ) ), 'popupTemplate' ) );

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

<ips:template parameters="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class='', $attributes=array(), $sidebar, $form=NULL" />

Передача пользовательских параметров

Если вам нужно передать дополнительные настраиваемые параметры в шаблон формы, вы можете сделать это во втором параметре метода customTemplate, например:

$templateToUse = array( call_user_func_array( array( \IPS\Theme::i(), 'getTemplate' ), array( 'forms', 'core' ) ), 'popupTemplate' );
$form->customTemplate( $templateToUse, $myCustomParameter, $anotherParameter );

Ваши параметры добавляются в начало списка параметров шаблона, то есть в этом случае заголовок вашего шаблона будет выглядеть следующим образом:

<ips:template parameters="$myCustomParameter, $anotherParameter, $id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class='', $attributes=array(), $sidebar, $form=NULL" />

 




Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy