Phalcon 中的表单主题/模板

Form Theme / Template in Phalcon

在放弃 Symfony 转而使用 Phalcon 后,我偶然发现了一个关于表单模板的问题。

我理解例如一个字段以这种方式呈现:

{{ text_field("name", "size" : 30) }}

{{ submit_button("Save") }}

如果我想将 class 应用到该字段,它看起来像:

{{ text_field("name", "size" : 30, "class" : "classForField") }}

{{ submit_button("Save", "class" : "btn btn-success") }}

然而,对我的应用程序中的 100 个字段、按钮等执行此操作将是一个巨大的麻烦,尤其是如果我出于某种原因决定将 Css 类更改为 'text_fields' 例如.

在 Symfony 中,您将为模板文件中的所有字段定义一个基本模板,除非被覆盖,否则所有表单都会使用该模板。

我查看了许多示例项目和文档,但在 Phalcon 中找不到这样的功能。我希望这只是我在寻找错误的术语,请有人指出我正确的方向。

具体来说,我想将 Bootstrap class 应用于我的元素。

您可能想要使用 Phalcon\Forms

您可以使用 Form 对象来声明、生成和验证您的表单。基于 manual example,您可以在 Form::add 期间向字段添加属性,如下所示:

$this->add(new Text("name", array(
    'maxlength' => 30,
    'placeholder' => 'Type your name',
    'class' => 'css classes'
)));

学习处理这些表格需要一些时间,尤其是在进行清理+验证时。无论如何,我建议对 \Phalcon\Forms\Element\* 中的所有字段进行扩展,您可以在其中声明默认值 css,能够在 Form 中创建元素期间以及稍后在 Volt 模板期间调整它们。