是否有使用和数组作为输入生成Html表的Zend Helper?
答案 0 :(得分:2)
partialLoop()
可能是最好的。如果你想要更多的东西除了Zend中报告生成的业务逻辑之外,请看看zfdatagrid。
答案 1 :(得分:2)
最重要的是我使用partialLoop()来生成表格。但有时,对于不需要格式化的简单数据,我使用我的简单视图助手:https://gist.github.com/812481。 用法:
<?php echo $this->table()->setRows($rows); ?>
...或
<?php echo $this->table(null, $rows); ?>
$ rows可以是关联数组或任何具有toArray方法的对象(Zend_Db_Table_Rowset,Doctrine_Collection等)。以下是更复杂的示例,包含标题,标题,附加列:
echo $this->table()
->setCaption('List of something')
->setAttributes(array('class' => 'mytable', 'id' => 'currenciesList'))
->setColumns(array(
'currency' => 'Currency',
'rate' => 'Rate',
'edit_options' => '' // Custom column
))
// content for custom column.
->setCellContent(
'<a href="/currency/delete/{id}" class="deleteLink">Delete</a>', 'edit_options'
)
->setFooter('Something to write in footer...')
->setEmptyRowContent('Nothing found')
->setRows($rows);
但是这种方法不如partialLoop方便,因为它需要输入数据并按原样显示 - 它不允许您使用Zend_Date,Zend_Currency格式化值或自定义单元格格式。
答案 2 :(得分:1)
没有本机表zend视图助手。但是,您可以使用partialLoop视图助手来简化表的生成。
答案 3 :(得分:0)
您还可以使用PEAR的HTML_Table包。您可以将一个数组抛出到表类中,它将为您填充表格。它有一些很好的功能,如着色奇数和偶数行,设置每行,每列和每个表体的参数。
在http://pear.php.net/package/HTML_Table/docs/latest/HTML_Table/HTML_Table.html
了解更多信息