{**
* XS2: Отображение формы
*
* This file is developed by Solutecs, LLC for the purpose of the company
* and is provided together with XS2 Framework as and inherent part of the
* system. This file can be used on the terms of License Agreement.
*
* +7 (495) 585-0833 / 13 Rusakovskaya street, Moscow 107140 Russia
*
* @link http://www.solutecs.com
* @copyright ©1998-2007 Solutecs, LLC
* @version 1.XX
*}
{* Оформление формы *}
{* Приведенные здесь классы задаются в качестве вариантов
поля style в объектах типа field и layout (опционально) *}
<STYLE type="text/css">
{literal}
.demo1 {
font-family: Verdana;
background-color: #FFFFFF;
border: 1px solid #333333;
color: #333333;
padding: 2px;
margin: 0px;
}
.demo1 h1 {
background-color: #666666;
color: #FFFFFF;
font-size: medium;
padding: 3px;
margin: 0px;
margin-bottom: 3px;
}
.demo2 {
font-family: Arial;
}
.demo2 h1 {
color: #EEEEEE;
background-color: darkgreen;
font-size: large;
padding-left: 10em;
}
.demo10 {
color: darkblue;
font-weight: bold;
}
{/literal}
</STYLE>
{* /Оформление формы *}
{* По запросу определяем $formId - номер (идентификатор) формы *}
{if $_THE.FETCH.PARAMS[0]}
{assign var="formId" value=$_THE.FETCH.PARAMS[0]}
{else}
{assign var="formId" value=$_THE.PARAMS[0]}
{/if}
{* Получаем ветку объектов формы с ней самой включительно *}
{xs2GetKnee var="form" NodId=$formId inclusive=1 NType="form,layout,field,option"}
{* Запоминаем объекты, описывающие форму *}
{foreach from=$form item="element"}
{if $element.NType eq "form"}
{assign var="formRoot" value=$element}
{assign var="formId" value=$element.NodId}
{/if}
{if $element.NType eq "layout"}
{assign var="formLayout" value=$element}
{/if}
{/foreach}
{* После сохранения форма редиректит по адресу из переменной $url *}
{xs2Str2Hex var="url" value=$_THE.REQUEST_URI}
{assign var="atr" value="`$url`.`$formRoot.NodId`"}
<form name="form{$formRoot.NodId}"
action="{xs2Href mod="forms" obj="form" met="save" atr=$atr}"
method="POST"
{if $formLayout.style.value} class="{$formLayout.style.value}"{/if}>
{* Заголовок формы *}
<h1>{$formRoot.NName}</h1>
{* Отрисовываем последовательно элементы формы *}
{foreach from=$form item="element"}
{if $element.NType eq "field"}
{* Через переменную $fields передаем текущий элемент *}
{assign var="field" value=$element}
{* В массиве $options передаем варианты значений *}
{assign var="options" value=""}
{foreach from=$form item="el"}
{if $el.NType eq "option" and $el.ParId eq $field.NodId}
{append var="options" from=$options value=$el}
{/if}
{/foreach}
{* Используем шаблон для данного типа элементов *}
<div {if $field.style.value} class="{$field.style.value}"{/if}>
{xs2Fetch mod="forms" obj="field" met=$field.type.value}
</div>
{/if}
{/foreach}
<input type="submit" value="{$formLayout.button|default:"Отправить"}"/>
</form>
|
|