Zend表的html帮助器

时间:2011-01-29 13:10:12

标签: php zend-framework

是否有使用和数组作为输入生成Html表的Zend Helper?

4 个答案:

答案 0 :(得分:2)

如果你需要一个轻量级,易于定制的表生成器,那么<​​p> 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

了解更多信息