因此,在CakePHP中,默认情况下可以通过将'label'=>false
放入Form->create()
语句中的“inputDefaults”来关闭标签。
有没有办法将标签更改为元素占位符属性,而不是完全删除标签?这相当于在为每个元素添加'inputDefaults'=>array('label'=>false)
时对Form->create
执行'placeholder'=>'Placeholder'
...但有没有办法在不必将其添加到每个元素的情况下执行此操作CakePHP为你做到了吗?
答案 0 :(得分:3)
您可以运行自己的FormHelper副本,其中包含您的修改。您可以从lib / Cake / View / Helper / FormHelper.php复制FormHelper的版本,并将其粘贴到app / View / Helper / FormHelper.php中的应用程序中,并对您的副本进行必要的修改。 app文件夹中的副本优先于核心中提供的副本。与往常一样,永远不要永远对Core中的文件进行修改。
或者,您可以将FormHelper扩展到您自己的Helper类中:
class MyFormHelper extends FormHelper {
...
}
不要忘记将'MyForm'添加到$ helpers数组中!
无论如何,使用Cake 2.x目前无法提出要求。如果没有任何更改,您需要添加'占位符'=>每个input()调用的options数组中的'...'。如果您进行此更改,请考虑将其贡献给CakePHP社区,以便其他人可以从您的工作中受益!