我是Zend Framework的新手,并不确定这是否可行。
我想使用partialloop创建一个包含表单字段的表。
我在视图中使用此代码:
<!-- code in views/scripts/request/edit.phtml -->
<table cellpadding='0' cellspacing='0'>
<tr>
<th>Cliente</th>
<th>Descripcion</th>
</tr>
<?php echo $this->partialLoop('partials/_solicitud-row.phtml', $this->form); ?>
</table>
在部分我试过这个:
<!-- code in views/scripts/partials/_solicitud-row.phtml -->
<tr>
<td><?php echo $this->key . "=" . $this->value; ?></td>
</tr>
这个
<!-- code in views/scripts/partials/_solicitud-row.phtml -->
<tr>
<td><?php echo $this->Descripcion; ?></td>
<td><?php echo $this->cliente; ?></td>
<td><?php echo $this->FechaHoraCreada; ?></td>
<td><?php echo $this->Monto; ?></td>
</tr>
使用这个我得到表格的标题(<tr><th>Cliente</th><th>Descripcion</th></tr>
),但仅此而已。我知道部分被处理,因为使用第一个部分等于“=”被列出。
我正在做什么才有意义?有没有办法访问表单元素? 我尝试了其他选项,比如$ this-&gt; getElement ..,但没有用
谢谢!
答案 0 :(得分:6)
partialLoop
函数可以处理您的表单元素,但您需要备份一下:
<!-- code in views/scripts/request/edit.phtml -->
<?php
$model = array();
foreach ( $this->form as $element ) {
// include the $element itself, instead of the
// $element public properties (which are few)
$model[] = array('element' => $element);
}
?>
<?php echo $this->partialLoop('partials/_solicitud-row.phtml', $model); ?>
<!-- code in views/scripts/partials/_solicitud-row.phtml -->
<?php echo $this->element->getName(). "=" . $this->element->getValue(); ?>
答案 1 :(得分:0)
为什么不使用(HtmlTag)装饰器?我用div的
$this->setElementDecorators(array(
array('HtmlTag', array('tag' => 'div', 'class'=>'formRow'))
));
但表格不应该困难