2017-02-13 12 views
-1

У меня возникли проблемы с переписыванием шаблонов по умолчанию в CakePHps FormHelper. Как объяснялось, here можно было просто использовать метод setTemplates, чтобы использовать персонализированные обертки div.Как перезаписать шаблоны форм в CakePHP3?

Однако, когда я добавить

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

в мой файл шаблона, я получаю некоторые PHP предупреждения:

Предупреждение (2): SUBSTR() ожидает параметр 1, чтобы быть строка, массив с учетом [CORE \ SRC \ View \ Helper \ FormHelper.php, строка 2455]

Предупреждение (2): взрываются() ожидает параметр 2 будет строка, массив с учетом [CORE \ SRC \ View \ Helper \ FormHelper. php, строка 24 59]

Предупреждение (2): array_shift() ожидает параметр 1, чтобы быть массивом нулевой дано [CORE \ SRC \ View \ Helper \ FormHelper.php, строка 2460]

Кажется, там является внутренней проблемой в 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)

 Смежные вопросы

  • Нет связанных вопросов^_^