Cake \ View \ Helper \ FormHelper类的对象无法转换为字符串

时间:2016-11-23 10:25:25

标签: cakephp cakephp-3.x form-helpers

好了这里的代码:

<?php
echo $this->Form->templates([
    'nestingLabel' => '{{input}}<label{{attrs}}>{{text}}</label>',
    'formGroup' => '{{input}}{{label}}',
]);
echo $this->Form->hidden('thing_id', ['type' => 'text', 'value' => 1]);    

foreach($things as $thing) {   
    echo $this->Form->radio('thing_id', [
        [
            'id' => 'thing-id-' . $thing->id,
            'value' => $thing->id,
            'text' => 'test',
            'data-toggle' => 'button'
        ]
    ],
    [
        'label' => [
            'class' => 'button radius',
            'for' => 'thing-id-' . $thing->id,
            'text' =>
                '<figure><img src= ' . $thing->img . '/><figcaption>' .
                $thing->title .
                '</figcaption></figure>',
            'escape' => false  
        ], 
        'hiddenField' => false
    ]);
}
?>

这是cakephp所说的导致错误的行:

echo $this->Form->templates([
    'nestingLabel' => '{{input}}{{text}}',
    'formGroup' => '{{input}}{{label}}',
]);

这里是错误文字:

  

Cake \ View \ Helper \ FormHelper类的对象无法转换为字符串

之前有人有机会遇到这个吗?

所以我跑了这个:

<?= $this->Form->templates([
        'nestingLabel' => '{{input}}<label{{attrs}}>{{text}}</label>',
        'formGroup' => '{{input}}{{label}}',
    ]) ?>

表单中没有任何其他代码,但仍然出现此错误!

  

警告(4096):Cake \ View \ Helper \ FormHelper类的对象不能   被转换为字符串   [APP / Template / things / things / thing.ctp,第17行]代码   背景包括 -   APP / Template / things / things / thing.ctp,第17行   Cake \ View \ View :: _ evaluate() - CORE / src / View / View.php,第992行   Cake \ View \ View :: _ render() - CORE / src / View / View.php,第952行   Cake \ View \ View :: render() - CORE / src / View / View.php,第587行   Cake \ Controller \ Controller :: render() -   CORE / src / Controller / Controller.php,第611行   Cake \ Routing \ Dispatcher :: _ invoke() - CORE / src / Routing / Dispatcher.php,   第120行Cake \ Routing \ Dispatcher :: dispatch() -   CORE / src / Routing / Dispatcher.php,第87行[主要] -   ROOT / webroot / index.php,第36行

1 个答案:

答案 0 :(得分:1)

好吧,这是一个令人尴尬的一个!

简单的回答。不要回复$this->Form->templates

这就是单选按钮现在正在工作。除了图像没有显示。

我认为这可能与路由有关。

无论如何你去了。给所有阅读障碍者的建议 - 如果一些简单的东西不起作用,那么再次复制并粘贴文档中的代码并从那里开始!