Форма обратной связи - поле date
| Автор | Текст сообщения | |
|---|---|---|
|
Maksim |
29.06.2010 12:31
Отредактировано: 29.06.2010 12:42
1. Подскажите пожалуйста, как можно ограничить в шаблоне диапазон вывод по годам поля "date"? Чтобы получить на выходе списки:
{число, Месяц, (2010-2011)} и {Число, Месяц, (1955-1996)} Не знаю как поменять название сообщения... чтобы добавить "списки"... 2. Еще не понятно как отдельно выводить значение из списка в форме обратной связи (Шаблон письма). Делаю $data.list (поле список строк и список данных), но мне приходит письмо не с текстом а с ID номером |
|
admin |
29.06.2010 14:54
Отредактировано: 29.06.2010 14:55
1. в html_select_date использовать параметры start_year и end_year
http://wiki.a-cms.ru/smarty/smarty5#html_select_date
2. $fields.list.value |
|
|
Maksim |
29.06.2010 20:50
Отредактировано: 29.06.2010 21:02
Спасибо большое, все помогло.
Только непонятно, как можно сделать, если присутствует несколько полей с датами. Как я понимаю это все относится ко всем полям которые выводятся в цикле: ...
{elseif $field.type=="date"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="-30" end_year="-10"}</p> ...Подскажите пожалуйста, как сделать, чтобы можно было выводить несколько полей с датами, но при этом настройки (в можем случае start_year...) были разными и была сохранена сортировка полей?Пробовал добавить конструкцию в виде, но поля дат не отображаются : ...
{if $field=="date1"}
{elseif $field.type=="date"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="0" end_year="+1"}</p>
{/if}
{if $field=="date2"}
{elseif $field.type=="date"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="0" end_year="+1"}</p>
{/if}
|
|
admin |
30.06.2010 00:14
Можно либо в цикле поставить условие по идентификатору поля. Вот как пробовали почти правильно, только $field.field=="date1" (т.к. $field в данном случае это массив).
Либо можно и без цикла обойтись, а сформировать нужную html форму целиком в шаблоне, главное чтобы имена полей совпадали с заданными в админке. |
|
|
Maksim |
30.06.2010 08:44
Тоже самое получается, не отображается поле
Пробовал и так: {if $field.field=="date1"}
{elseif $field.type=="date"}
...
{/if}и так:{elseif $field.field=="date1"}
...
Мне к сожалению нужно сделать чтобы это было именно в цикле. чистый html это как крайний вариант. Каким вариантом еще можно решить данную задачу?
|
|
admin |
30.06.2010 15:21
Фрагмент правильный, если поля называются соотв. date1 и date2.
Может не туда вставляете его. Полный текст формы приведите. |
|
|
Maksim |
30.06.2010 16:43
.... здесь идет стандартный код, который формируется при создании раздела...
{elseif $field.type=="mselect"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_checkboxes name=$field.field options=$field.options checked=$field.value separator=", "}</p>
{if $field.field=="datarojdeniya"}
{elseif $field.type=="date"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="-40" end_year="-9"}</p>
{/if}
{if $field.field=="datazapisi"}
{elseif $field.type=="date"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="+0" end_year="+1"}</p>
{/if}
{elseif $field.type=="file"}
<p>{$field.name}:</p>
<p><input type="file" name="{$field.field}"></p>
{/if}
{/foreach}
... и т.д.
Единственно, что я делаю на собственном модуле "Анкета" (полная копия формы обратной связи). Проверял на стандартной форме обратной связи, такая же ситуация |
|
admin |
30.06.2010 16:52
Отредактировано: 30.06.2010 16:53
Перепутан порядок условий.
...
{elseif $field.type=="mselect"}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_checkboxes name=$field.field options=$field.options checked=$field.value separator=", "}</p>
{elseif $field.type=="date"} {* Если тип - Дата *}
{if $field.field=="datarojdeniya"} {* Если поле такое-то *}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="-40" end_year="-9"}</p>
{/if}
{if $field.field=="datazapisi"} {* Если поле такое-то *}
<p>{$field.name}:{if $field.fill=="Y"}<b>*</b>{/if}</p>
<p>{html_select_date prefix=$field.field time=$field.value field_order="DMY" start_year="+0" end_year="+1"}</p>
{/if}
{elseif $field.type=="file"}
<p>{$field.name}:</p>
<p><input type="file" name="{$field.field}"></p>
{/if}
{/foreach}
|
|
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.






