CakePHP - 替代占位符的默认标签

时间:2012-09-08 01:39:39

标签: cakephp placeholder labels

因此,在CakePHP中,默认情况下可以通过将'label'=>false放入Form->create()语句中的“inputDefaults”来关闭标签。

有没有办法将标签更改为元素占位符属性,而不是完全删除标签?这相当于在为每个元素添加'inputDefaults'=>array('label'=>false)时对Form->create执行'placeholder'=>'Placeholder' ...但有没有办法在不必将其添加到每个元素的情况下执行此操作CakePHP为你做到了吗?

1 个答案:

答案 0 :(得分:3)

您可以运行自己的FormHelper副本,其中包含您的修改。您可以从lib / Cake / View / Helper / FormHelper.php复制FormHelper的版本,并将其粘贴到app / View / Helper / FormHelper.php中的应用程序中,并对您的副本进行必要的修改。 app文件夹中的副本优先于核心中提供的副本。与往常一样,永远不要永远对Core中的文件进行修改。

或者,您可以将FormHelper扩展到您自己的Helper类中:

class MyFormHelper extends FormHelper {
    ...
}

不要忘记将'MyForm'添加到$ he​​lpers数组中!

无论如何,使用Cake 2.x目前无法提出要求。如果没有任何更改,您需要添加'占位符'=>每个input()调用的options数组中的'...'。如果您进行此更改,请考虑将其贡献给CakePHP社区,以便其他人可以从您的工作中受益!