2013-04-19 58 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命令然後嘗試將視圖助手轉換爲字符串。

仔細檢查元素名稱,並確保您從窗體中獲得正確的項目。

相關問題