2017-02-13 7 views
-1

私はCakePHps FormHelperのデフォルトテンプレートを上書きする際にいくつかの問題を抱えています。 説明したようにhereは、単に "setTemplates"メソッドを使用して、カスタマイズされたdivラッパーを使用することができます。CakePHP3でフォームテンプレートを上書きする方法は?

私は私のテンプレートファイルに

$this->Form->setTemplates(['inputContainer' => '<div class="custom-class">{{content}}</div>']); 

を追加するときしかし、私はいくつかのPHPの警告を得る:(2)警告

:SUBSTR()は、配列が与えられ、パラメータ1が文字列であることを期待します [CORE \ SRC \表示\ヘルパー\ FormHelper.php、ライン2455]

警告(2):爆発()パラメータ2 [CORE \ SRC \表示\ヘルパー\ FormHelperの指定された文字列、配列ことを期待します。 php、24行目59(2)警告

:array_shift()はヌル [CORE \ SRC \表示\ヘルパー\ FormHelper.php、ライン2460]

所与それはのようにあるようだ、パラメータ1が配列であることを期待しますFormViewHelperの内部問題です。 または何かが恋しいですか?ドキュメントに記載と同じように

+0

あなたの_exact_ CakePHPのバージョン( 'vendor/cakephp/cakephp/VERSION.txt'の最後の行)を必ずご記入ください - ありがとう! – ndm

+0

ver3.3.14 ...チェックしていません。どうも – DeVolt

答えて

1

あなたは、CakePHP 3.4より前のバージョンを使用している場合は、単に実行します。

$myTemplates = [ 
    'inputContainer' => '<div class="form-control">{{content}}</div>', 
]; 

// Prior to 3.4 
$this->Form->templates($myTemplates); 

これは、バージョン3.4以降である:

// versions 3.4 and later 
$this->Form->setTemplates($myTemplates); 

はここ(Customizing the Templates FormHelper Uses in CakePHP 3)を参照してください

関連する問題