Source for file function.form_input.php
Documentation is available at function.form_input.php
* smarty function:フォームタグ生成
* @param string $name フォーム項目名
if (isset
($params['name'])) {
// 現在の{form_input}を囲むform blockがあればパラメータを取得しておく
for ($i =
count($smarty->_tag_stack); $i >=
0; --
$i) {
if ($smarty->_tag_stack[$i][0] ===
'form') {
$block_params =
$smarty->_tag_stack[$i][1];
if (isset
($params['action'])) {
$action =
$params['action'];
unset
($params['action']);
} else if (isset
($block_params['ethna_action'])) {
$action =
$block_params['ethna_action'];
$view->addActionFormHelper($action, true);
if (isset
($params['default'])) {
// {form_input default=...}が指定されていればそのまま
} else if (isset
($block_params['default'])) {
// 外側の {form default=...} ブロック
if (isset
($block_params['default'][$name])) {
$params['default'] =
$block_params['default'][$name];
// 現在のアクションで受け取ったフォーム値を補正する
// 1. {form name=...} の値が設定されていないか、submitされていないとき
// 2. {form name=...} の値と、submitされたそれが等しいとき
$af =
& $c->getActionForm();
$form_id =
$block_params['name']; // {form name=... }
$cur_form_id =
$af->get('ethna_fid'); // submitされたフォームID
$can_fill =
($cur_form_id ==
null
||
$form_id ==
$cur_form_id);
if ($can_fill &&
$val !==
null) {
$params['default'] =
$val;
return $view->getFormInput($name, $action, $params);
Documentation generated on Fri, 11 Nov 2011 04:01:14 +0900 by phpDocumentor 1.4.3