2016-07-19 7 views
0

Jedes Mal, wenn ich ein Eingabefeld zu erstellen mitPrevent CakePHP erstellen div mit Eingabefeld

$this->Form->input('name'); 

Es schafft ein div-Element

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

Gibt es eine Möglichkeit Erstellung von div Block um Eingabe zu verhindern Feld. Gibt es auch eine Möglichkeit, der div erstellten benutzerdefinierten Klasse hinzuzufügen? wie

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

Ich verwende CakePHP 3.2

Antwort

2

Sie müssen die Vorlagen außer Kraft zu setzen. Sie können dies tun, indem Sie eine neue Konfigurationsdatei zu erstellen:

config/app_form.php

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

es dann laden in Ihrer Ansicht:

src/Ansicht/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

+0

Ich möchte das im Element. Wenn Sie dies in der Ansicht hinzufügen, wirkt sich dies auf alle Formulare in der gesamten Anwendung aus. Ich möchte dies nur auf einem Eingabefeld –

+0

@ anujsharma9196 dann können Sie '$ this-> Formular-> Eingabe ('Name', [ 'Vorlagen' => [ 'inputContainer' => '{{content}}' ] ]); ' – arilia

0
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']); 

Ich hoffe, dass dies Ihnen helfen würde.