teHtml(AgaviRequestDataHolder $rd)
{
$this->setupHtml($rd);
$this->setAttribute(''_title'', ''View Listing'');
$id = $rd->getParameter(''id'');
$q = Doctrine_Query::create()
->from(''Listing l'')
->leftJoin(''l.Manufacturer m'')
->leftJoin(''l.Country c'')
->where(''l.RecordID = ?'', $id);
$result = $q->fetchArray();
if (count($result) == 1) {
$this->setAttribute(''listing'', $result[0]);
return ''Success'';
} else {
return $this->createForwardContainer(
AgaviConfig::get(''actions.error404_module''),
AgaviConfig::get(''actions.error404_action''));
}
}
}
?>
executeHtml() 方法的前面几行设置视图模板,并获取输入变量
使用Agavi进行MVC编程简介,第2部分 (二) - 凌众科技
快速业务通道
使用Agavi进行MVC编程简介,第2部分 (二)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-22
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
GET[''id''] 的值。然后这个值被插入到一个Doctrine 查询中,该查询试图在数据库中查找匹配列表(要详细了解 Doctrine 查询的细节,请查看 参考资料 小节提供的对应手册页链接)。如果查询仅返回一条记录,该结果将作为联合数组分配到模板变量 $t[''listing'']。如果没有匹配项,或找到多个匹配项,视图将自动跳转到应用程序的 Error404 操作。
这次,通过设置 DisplayErrorView(清单 19)指定输入验证失败时发生的行为不失为一个好主意。
清单 19. Listing/DisplayErrorView 定义
<?php
class Listing_DisplayErrorView extends WASPListingBaseView
{
public function executeHtml(AgaviRequestDataHolder $rd)
{
$this->setupHtml($rd);
return $this->createForwardContainer(
AgaviConfig::get(''actions.error404_module''),
AgaviConfig::get(''actions.error404_action''));
}
}
?>
非常简单 —— 将再次跳转到默认的 Error404 操作。
最后,设置 DisplaySuccess 模板实际显示从数据库获得的信息(清单 20):
清单 20. Listing/DisplaySuccess 模板
<h3>FOR SALE: <?php printf(''%d %s %s (%s)'',
$t[''listing''][''VehicleYear''], $t[''listing''][''Manufacturer''][''ManufacturerName''],
ucwords(strtolower($t[''listing''][''VehicleModel''])),
ucwords(strtolower($t[''listing''][''VehicleColor'']))); ?></h3>
<div id="container">
<div id="specs">
<table cellspacing="5">
<tr>
<td class="key">Listing ID: </td>
<td class="value"><?php echo $t[''listing''][''RecordID'']; ?></td>
</tr>
<tr>
<td class="key">Year of manufacture: </td>
<td class="value"><?php echo
$t[''listing''][''VehicleYear'']; ?></td>
</tr>
<tr>
<td class="key">Color: </td>
<td class="value"><?php echo
$t[''listing''][''VehicleColor'']; ?></td>
</tr>
<tr>
<td class="key">Mileage: </td>
<td class="value"><?php e
|