2016-05-12 2 views
0

Nur ein kleines Problem! In meinem Dokument i zurückgeben eine Eingabe wie dieseKuchen PHP 3 - Vorlage generieren Div mit Vorlage, die ich nicht entfernen kann

return parent::input($fieldName, [ 
    'div'=> false, 
    'label' => [ 
      'class' => ' control-label col-md-'.$this->getLeft().' ' 
    ], 
    'templates' => [ 
     'formGroup' => '{{label}} <div class="form-group col-md-'.$this->getRight().'"> {{input}} </div>' 
    ], 
    'class' => 'form-control' 
]); 

In meinem Dokument habe ich so etwas

<div class="input text required"> 
    <label class"control-label col-md-3" for="title">Title</label> 
     <div class="form-group col-md-9"> 
      <input type="text" name="title" class="form-control" required="required" maxlength="50" id="title" value="Article premier de la constitution"> 
     </div> 
</div> 

In wirklich nicht will, dass ersten div! Bevorzugen Sie etwas wie folgt aus:

<div class="form-group"> 
    <label class"control-label col-md-3" for="title">Title</label> 
     <div class="form-group col-md-9"> 
      <input type="text" name="title" class="form-control" required="required" maxlength="50" id="title" value="Article premier de la constitution"> 
     </div> 
</div> 

Ich versuche, Vorlagen zu verstehen ... Also, wie kann ich meine Vorlage nennen machen ein gut haben? Oder was soll ich mit dem "div => false" meiner Eingabe machen?

+0

was meinst du mit „Was soll ich mit dem tun‚div => false‘meiner Eingabe? " ?. 'div' => 'false' wird Eingabe-Div nicht wiedergeben. –

+0

Es gibt ein Problem mit dieser Option. Div => false rendert das div. Wie es ist immer zu wahren Zustand! Ich suchte andere Themen und andere treffen das gleiche Problem. Deshalb verwende ich die CakePHP3 Vorlagen. –

Antwort

0

Sie sollten die Standardkonfiguration für den Helfer bearbeiten.

Gehe zu: Verkäufer/cakephp/cakephp/src/View/Helper/FormHelper.php

finden und alle Vorlagen Strukturen kopieren, was Sie bearbeiten können:

protected $_defaultConfig = [ 
    ... 
    'templates' => [ 
     'inputContainer' => '<div class="input {{type}}{{required}}">{{content}}</div>', 
     ... 
    ] 
]; 

Go und erstellen Datei config/app_form.php

öffnen app_form.php Paste Struktur zu bearbeiten und machen unsere eigene Vorlage

<?php 

return [ 
    'inputContainer' => '<div class="form-group">{{content}}</div>' 

]; 

zu Ansicht/AppView.php Nun gehen Sie und bearbeiten initialisieren Funktion

public function initialize() 
    { 
     $this -> loadHelper('Form', [ 
      'templates' => 'app_form' //Name of file created in previous step 
     ]); 
    } 
0

Ich komme Stück für Stück voran. Jetzt schalte ich einfach das div herunter, das ich nicht will.

Antwort das div zu löschen:

return parent::input($fieldName, ['label' => ['class' => ' control-label col-md-'.$this->getLeft().' '], 
            'templates' => ['inputContainer' => '<div class="form-group">{{content}}</div>'], 'class' => 'form-control col-md-9' ]); 

} 
  • Neues Problem: Wie kann ich den Inhalt analysieren, die ich anrufen? Denn bevor ich '{{label}}' und '{{input}}' bekam, konnte ich das div ich will zwischen diesen beiden setzen ... Kann mir jemand sagen, wie kann ich das explodieren {{Inhalt }} in zwei Teilen?
Verwandte Themen