好了这里的代码:
<?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行
答案 0 :(得分:1)
简单的回答。不要回复$this->Form->templates
!
这就是单选按钮现在正在工作。除了图像没有显示。
我认为这可能与路由有关。
无论如何你去了。给所有阅读障碍者的建议 - 如果一些简单的东西不起作用,那么再次复制并粘贴文档中的代码并从那里开始!