Zend framework Zend View:如何在同一个视图脚本中多次使用输出?
我正在处理一个页面,该页面显示目录中的文章列表,带有分页(我不使用Zend_Paginator) 分页区是可以的,但我会多次渲染它(在列表的顶部和底部)Zend framework Zend View:如何在同一个视图脚本中多次使用输出?,zend-framework,zend-view,Zend Framework,Zend View,我正在处理一个页面,该页面显示目录中的文章列表,带有分页(我不使用Zend_Paginator) 分页区是可以的,但我会多次渲染它(在列表的顶部和底部) 在视图脚本内部,是否有一种方法可以捕获输出,并在不使用任何外部视图脚本(将执行两次)的情况下渲染两次?在不知道代码外观的情况下,使用Zend Framework视图执行此操作的常见方法是: /paginatorViewscript.phtml /* Paginator script content */ 您的目录页 <?=$
在视图脚本内部,是否有一种方法可以捕获输出,并在不使用任何外部视图脚本(将执行两次)的情况下渲染两次?在不知道代码外观的情况下,使用Zend Framework视图执行此操作的常见方法是: /paginatorViewscript.phtml
/*
Paginator script content
*/
您的目录页
<?=$this->render('paginatorViewscript.phtml')?>
/*
various catalog content
*/
<?=$this->render('paginatorViewscript.phtml')?>
/*
各种目录内容
*/
这样,脚本将显示两次(在顶部和底部)。您明确表示不希望在没有外部viewscript的情况下执行此操作,但这是执行此操作的方法
也许您可以说明为什么不想使用外部viewscript 占位符是解决方案,它捕获一次,并且输出可以多次使用:
<? $this->placeholder('foo')->captureStart(); ?>
My script to make pagination...
<? $this->placeholder('foo')->captureEnd() ?>
<!-- used one time -->
<?= $this->placeholder('foo'); ?>
Items to display
<!-- used a second time -->
<?= $this->placeholder('foo'); ?>
我要进行分页的脚本。。。
要显示的项目
分页脚本将仅在此视图脚本中使用。所以我更喜欢将这部分html放在里面,以避免项目中phtml文件的倍增。另一个原因是为了提高性能:在代码中,视图脚本将执行两次,但在我可以使用输出twiceNice时只需要执行一次,尽管我对zend framework很有经验,但我不知道占位符(可能是因为我到目前为止从未使用过占位符)。记住这一点。我没有时间用基准测试这一点,但我猜测在常规情况下,我的解决方案(渲染两次)和您的解决方案(占位符)的性能几乎相等。