防止 CakePHP 使用输入字段创建 div

Prevent CakePHP to create div with input field

每次我使用

创建输入字段
$this->Form->input('name');

它创建了一个 div 元素

<div class="input name">
  <input type="text">
</div>

有没有办法防止在输入字段周围创建 div 块。另外,有没有办法将自定义 class 添加到创建的 div 中?喜欢

<div class="input name myStyle">
  <input>
</div>

我正在使用 CakePHP 3.2

您需要覆盖模板。您可以通过创建一个新的配置文件来做到这一点:

config/app_form.php

return [
    'inputContainer' => '{{content}}'
];

然后将其加载到您的视图中:

src/View/AppView.php

class AppView extends View
{
    public function initialize()
    {
        parent::initialize();

        $this->loadHelper('Form', ['templates' => 'app_form']);
    }
}

http://book.cakephp.org/3.0/en/views/helpers/form.html#customizing-the-templates-formhelper-uses

php echo $this->Form->create($user, ['type' => 'file', 'id'=>"change-profile-form",'role' => 'form','class'=>'orb-form']);

$this->Form->templates(['inputContainer' => '{{content}}']);


echo $this->Form->input('first_name', ['label'=>false, 'div'=>false, 'placeholder' => 'First name']);

希望对您有所帮助。