这个错误有什么问题?

问题描述:

我使用Zend的部分助手:这个错误有什么问题?

<?php echo $this->partial(include_once('../application/views/layouts/header.phtml'), array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); ?> 

在header.phtml:

<?php echo $this->escape($this->from) ?> 

当我尝试使用它,我有错误:

exception 'Zend_View_Exception' with message 'script '1' not found in path (Y:/home/local.mekheda/application/modules/blog/views\scripts/;Y:\home\local.mekheda\application/views\scripts/)' in Y:\home\local.mekheda\library\Zend\View\Abstract.php:980

为什么它是1,什么是错的?

你不需要include_once指令。只使用路径局部视图:

$this->partial('../application/views/layouts/header.phtml', array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); 

include_once返回1上的成功,因此,错误消息。

更新:
不知道我完全理解这个问题,从您的意见,但为什么不把所有的HTML中的部分观点:

// header.phtml 
<div id="logo_page"><img src="<?php echo $this->img; ?>" /></div> 

它如下传递给局部视图:

$this->partial('../application/views/layouts/header.phtml', array('img' => 'css/images/master.pg')); 

注:如果文件css/images/master.png是你public目录下你可以把它像我一样,不使用../

+0

请求脚本可能不包括父目录遍历(” ../ “,”..“符号) 我尝试了不同的方式,我有这个错误 – Stopper

+1

是的,正确的。您应该将部分视图放置在您的视图所在的相同文件夹中。 [RTFM](http://framework.zend.com/manual/1.12/en/zend.view.helpers.html#zend.view.helpers.initial.partial)查看它是如何完成的。 ;-) – Havelock

+0

如果我在不同的意见中需要它,该怎么办?我需要重复header.html吗? – Stopper

使用部分错误的 - 扔include_once声明

echo $this->partial(
    '../application/views/layouts/header.phtml', 
    array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); 

地方“header.phtml”在YourApplicationFolder /模块/应用/视图/谐音

< ?php echo $this->partial('partials/header.phtml', 
          array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); ?> 
+0

with message'script'/partials/header.phtml'找不到路径 – Stopper

+1

在YourApplicationFolder/modules/Application/view/partials中放置“header.phtml” – Arvind

+0

也许你在我的数组中知道这个字符串:'

'和html响应它像文本,但不是HTML拖船,我能做什么? – Stopper