0

因此,在 CakePHP 中,有一种方法可以通过在语句'label'=>false中输入“inputDefaults”来默认关闭标签。Form->create()

有没有办法,而不是完全删除标签,将标签更改为元素占位符属性?这相当于在向每个元素添加 a'inputDefaults'=>array('label'=>false)的同时执行...但是有没有办法做到这一点而不必将它添加到每个元素并让 CakePHP 为你做呢?Form->create'placeholder'=>'Placeholder'

4

1 回答 1

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() 调用的选项数组中添加一个 'placeholder' => '...'。如果您做出此更改,请考虑将其回馈给 CakePHP 社区,以便其他人可以从您的工作中受益!

于 2012-09-08T04:32:15.960 回答