如何在fuelphp中管理多个表单模板

时间:2015-06-17 06:23:40

标签: php forms fuelphp

您好我刚刚从CI迁移到Fuel ......我正在使用Fieldset类在视图中自动生成表单....我面临的问题是我有多种类型的表单模板,即我的一些模型使用twitter bootstrap水平内联表单,其中少数模型使用自定义模板...我能够在form.php中设置单一类型的表单模板,我将其从fuel / core / config / form.php复制到fuel / app / config / form .PHP

以下是表单模板的示例返回数组

return array(
// regular form definitions
'prep_value'                 => true,
'auto_id'                    => true,
'auto_id_prefix'             => 'form_',
'form_method'                => 'post',
'form_template'              => "\n\t\t{open}\n\t\t<table>\n{fields}\n\t\t</table>\n\t\t{close}\n",
'fieldset_template'          => "\n\t\t<tr><td colspan=\"2\">{open}<table>\n{fields}</table></td></tr>\n\t\t{close}\n",
'field_template'             => "\t\t<tr>\n\t\t\t<td class=\"{error_class}\">{label}{required}</td>\n\t\t\t<td class=\"{error_class}\">{field} <span>{description}</span> {error_msg}</td>\n\t\t</tr>\n",
'multi_field_template'       => "\t\t<tr>\n\t\t\t<td class=\"{error_class}\">{group_label}{required}</td>\n\t\t\t<td class=\"{error_class}\">{fields}\n\t\t\t\t{field} {label}<br />\n{fields}<span>{description}</span>\t\t\t{error_msg}\n\t\t\t</td>\n\t\t</tr>\n",
'error_template'             => '<span>{error_msg}</span>',
'group_label'                => '<span>{label}</span>',
'required_mark'              => '*',
'inline_errors'              => false,
'error_class'                => null,
'label_class'                => null,

// tabular form definitions
'tabular_form_template'      => "<table>{fields}</table>\n",
'tabular_field_template'     => "{field}",
'tabular_row_template'       => "<tr>{fields}</tr>\n",
'tabular_row_field_template' => "\t\t\t<td>{label}{required}&nbsp;{field} {error_msg}</td>\n",
'tabular_delete_label'       => "Delete?",

);

我想要这样的多个表单模板,以便我能够使用$ fieldset-&gt; form() - &gt; build()函数自动生成需要它的表单...

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

是肯定的。试试这个:

  

forge($ name =&#39;默认&#39;,$ config = array());

$article_form = Fieldset::forge('article',array(
// regular form definitions
'prep_value'                 => true,
'auto_id'                    => true,
'auto_id_prefix'             => 'form_',
'form_method'                => 'post',
'form_template'              => "\n\t\t{open}\n\t\t<table>\n{fields}\n\t\t</table>\n\t\t{close}\n",
'fieldset_template'          => "\n\t\t<tr><td colspan=\"2\">{open}<table>\n{fields}</table></td></tr>\n\t\t{close}\n",
'field_template'             => "\t\t<tr>\n\t\t\t<td class=\"{error_class}\">{label}{required}</td>\n\t\t\t<td class=\"{error_class}\">{field} <span>{description}</span> {error_msg}</td>\n\t\t</tr>\n",
'multi_field_template'       => "\t\t<tr>\n\t\t\t<td class=\"{error_class}\">{group_label}{required}</td>\n\t\t\t<td class=\"{error_class}\">{fields}\n\t\t\t\t{field} {label}<br />\n{fields}<span>{description}</span>\t\t\t{error_msg}\n\t\t\t</td>\n\t\t</tr>\n",
'error_template'             => '<span>{error_msg}</span>',
'group_label'                => '<span>{label}</span>',
'required_mark'              => '*',
'inline_errors'              => false,
'error_class'                => null,
'label_class'                => null,

// tabular form definitions
'tabular_form_template'      => "<table>{fields}</table>\n",
'tabular_field_template'     => "{field}",
'tabular_row_template'       => "<tr>{fields}</tr>\n",
'tabular_row_field_template' => "\t\t\t<td>{label}{required}&nbsp;{field} {error_msg}</td>\n",
'tabular_delete_label'       => "Delete?",
));