要创建与模型对应的输入字段,可以使用:
cakephp $this->Form->input('Model.field');
要重命名,可以使用
cakephp $this->Form->input('Model.field', array('label' => __('new field name')));
但是考虑一下我有一个庞大的应用程序,我不想一遍又一遍地重命名每个字段。这个问题被问了很多次,总是用我给出的解决方案回答这个初学者的问题。但是在CakePHP中必须有一种更优雅的方式......我猜想可以使用Translate Behavior构建一个变通方法。这是最好的方式吗?
答案 0 :(得分:1)
您指明的方式是在CakePHP中完成的方式。字段名称必须与模型中的名称相对应。如果您不喜欢该名称,则可以随时更改模型中的名称以表示您希望它在表单上显示的内容。否则,您必须使用标签字段。
我猜可能有另一种方式。您可以覆盖表单助手以为您进行翻译。但是,您将管理大量的表单名称,以根据名称动态插入标签。这似乎只是为了改变标签而做了很多额外的工作。
答案 1 :(得分:0)
输入元素的标签取决于数据库表和模型字段中的字段名称。因此,假设您在用户表和用户模型中有字段用户名,那么..
echo $this->Form->input('User.username');
将输出
<input type="text" label="Username" ... />
因此,请更改用户表和模型中的字段,以获取表单元素的所需标签。