2013-04-19 37 views
0

Catchable fatal error: Object of class Zend\Form\View\Helper\FormLabel could not be converted to string in (...)\module\Application\view\application\produtos\form.phtml on line 2开捕致命错误:类Zend的表格查看助手 FormLabel

form.phtml

<?php echo $this->form()->openTag($form);?> 
<?php echo $this->formLabel($form->get('nome_produto'));?> 
<?php echo $this->formElement($form->get('nome_produto'));?> 
<?php echo $this->formErrors($form->get('nome_produto'));?> 
<?php echo $this->form()->closeTag($form);?> 

ProdutosController.php

public function novoAction() 
{ 
    $form = new ProdutoForm(); 

    $view = new ViewModel(array(
      'form' => $form 
    )); 
    $view->setTemplate('application/produtos/form.phtml'); 
    return $view; 
} 

ProdutoForm.php的对象

<?php 

namespace Application\Form; 

use Zend\Form\Form; 
use Zend\Form\Element\Text; 

class ProdutoForm extends Form 
{ 
public function __construct($name = null) { 
    parent::__construct('produto'); 

    $nome = new Text('nome_produto'); 
    $nome->setLabel('Nome: ') 
     ->setAttributes(array(
      'class' => 'input-mediun' 
     )); 
    $this->add($nome); 

...

回答

1

是的,这些表单视图助手应该有更好的错误检测。我猜$form->get('nome_produto')正在返回null。因此,视图助手只是简单地返回自己,因为它没有任何实际的渲染。 echo命令然后尝试将视图助手转换为字符串。

仔细检查元素名称,并确保您从窗体中获得正确的项目。

相关问题