Zend Framework 教程 – 显示专辑列表

前面我们已经设定了各项Zend 框架配置,MySQL数据库信息,models 结构和 view 架构,可以开始尝试显示一些专辑列表了。我们知道MVC模型中业务逻辑是在controller控制器中实现的。所以我们在 IndexController 类中完成这个任务,使用zf 在IndexController 类中自动创建的 indexAction() 来列出专辑目录:

zf-tutorial/application/controllers/IndexController.php
...
function indexAction()
{
$albums = new Application_Model_DbTable_Albums();
$this->view->albums = $albums->fetchAll();
}
...

我们实例化一个基于 table data gateway 的model实例。fetchAll() 函数返回一个Zend_Db_Table_Rowset,它可以让我们在action的view脚本文件中迭代输出返回的各行。

现在我们在相应的view 脚本index.phtml文件中填入以下代码:

zf-tutorial/application/views/scripts/index/index.phtml
<?php
$this->title = "My Albums";
$this->headTitle($this->title);
?>
<p><a href="<?php echo $this->url(array('controller'=>'index',
'action'=>'add'));?>">Add new album</a></p>
<table>
<tr>
<th>Title</th>
<th>Artist</th>
<th>&nbsp;</th>
</tr>
<?php foreach($this->albums as $album) : ?>
<tr>
<td><?php echo $this->escape($album->title);?></td>
<td><?php echo $this->escape($album->artist);?></td>
<td>
<a href="<?php echo $this->url(array('controller'=>'index',
'action'=>'edit', 'id'=>$album->id));?>">Edit</a>
<a href="<?php echo $this->url(array('controller'=>'index',
'action'=>'delete', 'id'=>$album->id));?>">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</table>

上面的view脚本首先设定页面标题(在layout 的内容中使用),并使用 headTitle()  这个view helper 设置<head>部分的title属性(显示在浏览器页面的标题栏),然后创建一个添加新专辑的链接。Zend framework 提供了url() 这个 view helper,帮助创建包括正确的base URL 的链接。我们只需简单地传递一个参数数组,zf会完成剩下的工作。

然后我们创建一个html 表格,用以显示每张专辑的title – 标题,artist – 艺术家,并显示编辑和删除记录的链接。上面使用了一个标准的foreach循环: 迭代输出专辑列表,url()再次用于创建编辑和删除专辑的链接。

现在打开http://zftest.local/ ,可以看到页面生成了一个专辑列表:

zend framawork 专辑列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值