2

要创建与模型对应的输入字段,可以使用以下命令:

cakephp $this->Form->input('Model.field');

要重命名它,可以使用

cakephp $this->Form->input('Model.field', array('label' => __('new field name')));

但是考虑到我有一个巨大的应用程序,我不想一遍又一遍地重命名每个字段。这个问题被问了很多次,并且总是用我给出的解决方案来回答这个初学者问题。但是在 CakePHP 中必须有一种更优雅的方式......我猜想人们可以使用 Translate Behavior 构建一种解决方法。这是最好的方法吗?

4

2 回答 2

1

您指示的方式是在 CakePHP 中完成的方式。字段名称必须与模型中的名称相对应。如果您不喜欢该名称,您可以随时更改模型中的名称以表示您希望它在表单上显示的内容。否则,您必须按照指示使用标签字段。

我想可能还有另一种方式。您可以覆盖表单助手为您进行翻译。但是随后您将管理大量表单名称以根据名称动态插入标签。但这似乎只是为了更改标签而进行的大量额外工作。

于 2013-01-18T16:29:27.787 回答
0

输入元素的标签取决于数据库表和模型字段中的字段名称。因此,假设您在用户表和用户模型中有字段用户名,然后..

echo $this->Form->input('User.username');

将输出

<input type="text" label="Username" ... />

因此,更改用户表和模型中的字段以获得表单元素所需的标签。

于 2013-01-19T05:30:50.283 回答