Я думаю, что хорошим способом было бы использовать частичный цикл помощник вида. Например, вы можете создать файл частичного представления myTableRow.phtml в APPLICATION_PATH / views / scripts / _partials / следующим образом:
<!--APPLICATION_PATH . '/views/scripts/_partials/myTableRow.phtml -->
<tr>
<td> <?php echo $this->id; ?> </td>
<td> <?php echo $this->escape($this->firstname); ?> </td>
<td> <?php echo $this->escape($this->lastname); ?> </td>
<td> <?php echo $this->escape($this->location); ?> </td>
</tr>
Тогда ваш index.phtml будет выглядеть следующим образом:
<table>
<tr>
<th>id </th>
<th>FirstName </th>
<th>LastName </th>
<th>Locaion </th>
</tr>
<!-- I assume that $myModel->getAllRecords(); returns an instance of Zend_Db_Table_Rowset_Abstract -->
<?php echo $this->partialLoop('_partials/myTableRow.phtml', $this->show); ?>
</table>
Если вам нужно сделать это во многих представлениях, то вы можете создать свой собственный помощник представления, который будет принимать ваши данные, создать таблицу и вернуть ее в виде строки для представления.
Что касается $this->data->render();
, ИМХО, это не очень хороший способ. Причина в том, что вам нужно будет встроить представление данных в ваши модели. Однако, используя ZF, вы, скорее всего, захотите использовать его систему MVC. Принцип MVC заключается в разделении моделей, контроллеров и представлений. Делая $this->data->render()
, вы фактически смешиваете модели с представлениями.