CakePHP Form Helper刚刚为我生成了太多代码

use*_*712 1 cakephp

我正在使用cakePHP.我使用cakePHP内置的Form Helper生成一个输入文本框:

echo $form->input('quote', array('label'=>'Post Number', 'class'=>''));
Run Code Online (Sandbox Code Playgroud)

但是当我查看HTML源代码时,我发现了这些:

<div class="input text">
<label for="ReplyQuote">Post Number</label>
<input name="data[Reply][quote]" type="text" class="" maxlength="12" value="1" id="ReplyQuote" />
</div>  
Run Code Online (Sandbox Code Playgroud)

这真的绰绰有余.我的意思是Cake内置的Form Helper生成的代码.
那些以奇怪的命名约定方式命名的类的DIV标签没有帮助,
因为类名之间有空格,如:

 <div class="input text">
Run Code Online (Sandbox Code Playgroud)

CakePHP有没有用户可以省略那些DIV标签的选项?

Tra*_*leu 5

是.

查看可以传递给FormHelper :: input()方法的options数组.书籍参考位于http://book.cakephp.org/view/189/Automagic-Form-Elements

简而言之,表单助手正在为div添加两个不同的类 - 输入和文本.如果你不想要一个div,那就做:

echo $form->input( 'quote', array( 'label' => 'Post Number', 'div' => false ) );
Run Code Online (Sandbox Code Playgroud)

设置options ['class']值只会影响分配给实际输入本身的类选择器(请参阅HTML代码中输入标签的class =""?)

  • 应该注意的是,禁用`div`选项也会破坏自动错误消息和标签,这意味着如果要合并这些元素,则必须自己调用`FormHelper :: label`和`FormHelper :: error`. (2认同)