我是 CakePHP 编程的新手,我对 FormHelper 的使用有疑问 –

如果我们在 View 中使用 FormHelper,它会输出一些 HTML 代码,所有这些代码都是在 CakePHP 中定义的(我认为)。问题是,所有这些代码都与我已经拥有的 HTML 模板不同,所以我需要更改 HTML 模板,包括 html 和 css 以符合 FormHelper 约定。对我来说,这很有效。

我在想,当我开始做网站的时候,一般我都会从设计师那里得到所有的模板,但是设计师自己制作所有的html,他们根本不知道CakePHP的约定,那我怎么才能全部制作呢?模板更容易应用于 CakePHP?

自定义 FormHelper html 模板?还是干脆放弃他们?


CakePHP 的表单助手的输出是非常可定制的。字段的基本格式如下所示:

1
2
3
<label for = ‘control_id’ >Label </label >
<input id = ‘control_id’ name = ‘control_name’ />
Validation error message

这只是你可以用来设计任何表单元素的最小标记。

您可以使用 Form::input();

的 ‘before’、’between’、’after’ 等选项注入额外的标记

当然,您不必使用表单助手(尽管制作表单需要花费大量精力)。您可以将表单的原始 HTML 传递到视图中。

这样做的问题是,当验证失败时您不会看到生成的错误消息,您还需要确保使用准确的命名约定
输入名称属性以确保您的表单与 Cake 的验证一起使用。

一个简单的方法是在你的页面中添加一个常规的 echo $this->Form->input() 并将生成中的 name 属性复制到你的 html 标记中。

话虽如此,我并不总是自己做标记,而且还没有收到来自第三方的标记,这些标记无法用 Cake 的表单助手和一些 CSS 来模仿。

如果您发布您尝试重新创建的表单的示例,我们可以更好地更详细地回答这个问题。



相关讨论

  • 谢谢,我已经阅读了 CakePHP 的一些内容并听从了您的建议,这真的很有帮助。


声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。