2016-02-11 58 views
0

我使用Zend2框架创建了一个表单,但无法弄清为什么简单的Textarea没有出现在视图中(下面您可以看到我的代码)。我已经试过Text这个类型,它显示了一个标准的单行文本字段,但是运用Textarea。我也尝试过一种不存在的类型,并且zend抛出一个异常,所以看起来Textarea类型实际上存在,并且我必须缺少一个强制参数或类似的东西。任何人都可以将我指向正确的方向吗?PHP Zend 2 Framework展示Textarea

$this->add(array(
     'type' => 'Zend\Form\Element\Textarea', 
     'name' => 'pincodes', 
     'options' => array(
     'label' => 'Pincodes (uno por línea)', 
    ), 
    'attributes' => array(
     'rows' => '10', 
     'cols' => '75', 
    ) 
)); 

解决

我的坏,它看起来有一个在项目中忽略所有的Textarea领域的中间层。

+1

你是如何显示在您的视图的形式(更具体地说是元素)? –

+0

@TimFountain,刚刚更新了我的问题,这终究是一个非常愚蠢的问题,但如果没有你让我在项目中看起来更深,就不会发现它,所以谢谢! :) – ssantos

回答

0

尝试将您的“行”和“cols”值从字符串更改为整数(删除单引号)。

'attributes' = > array(
    'rows' => 10, 
    'cols' => 75, 
); 
+0

谢谢@Morgy,看起来很有前途,但也不工作:( – ssantos

+0

你是如何在你的视图上显示这个元素? – Morgy

0

我只是检查你的代码,发现两件事情第一

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

这一点我认为你已经使用在你的文件丢失。 另一个错误是你在代码中缺少逗号。使用下面的代码。

$this->add(array(
     'type' => 'Zend\Form\Element\Textarea', 
     'name' => 'pincodes', 
     'options' => array(
     'label' => 'Pincodes (uno por línea)', 
    ), 
    'attributes' => array(
     'rows' => '10', 
     'cols' => '75', 
    ), 
)); 

好运