【问题标题】:Form Theme / Template in PhalconPhalcon 中的表单主题/模板
【发布时间】:2015-03-11 02:34:48
【问题描述】:

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

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

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

{{ submit_button("Save") }}

如果我想为这个字段应用一个类,它看起来像:

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

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

但是,为我的应用程序中的 100 个字段、按钮等执行此操作会很麻烦,尤其是如果我出于某种原因决定仅将 Css 类更改为“text_fields”。

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

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

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

【问题讨论】:

    标签: css twitter-bootstrap-3 phalcon volt


    【解决方案1】:

    您可能想使用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\* 中的 al 字段进行扩展,您可以在其中声明您的默认 css,能够在 Form 中的元素创建期间以及稍后在 Volt 模板期间调整它们。

    【讨论】:

    • 我认为基本上我的问题是缺乏对命名空间的理解。现在做了一点研究。希望今晚下班后试试你的方法。已接受,但我可能需要稍后再问您一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2016-01-29
    • 2011-08-24
    • 2014-06-20
    相关资源
    最近更新 更多