Solution Technologies
Управление сайтом без ограничений
{**
 * 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>
Copyright ©1998-2008 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности