use*_*530 2 php zend-framework
我会尝试尽可能地描述这个,我之前没有遇到过这个问题,但也许我做错了.
在我的控制器中:我有:
public function indexAction() {
$this->view->projects = $this->projects->getProjects();
}
Run Code Online (Sandbox Code Playgroud)
在与此控制器对应的视图文件中,我有:
<?php echo $this->partial('partials/sidebar/_home.phtml', array($this->projects)); ?>
Run Code Online (Sandbox Code Playgroud)
我的_home.phtml包含当前代码:
<div class="sidebar-content">
<p class="sidebar-title">Projects Portfolio</p>
<div id='coin-slider' style="margin:0 auto;">
<?php echo $this->partialLoop('partials/sidebar/_projects-slideshow.phtml', $this->projects);?>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的_projects-slideshow.phtml有这个代码:
<a href="<?php echo $this->baseUrl($this->pimage); ?>">
<img src="<?php echo $this->baseUrl($this->pimage); ?>" alt="1" />
<span>
<?php echo $this->pname . ' by ' . $this->group . '. Client: ' . $this->client; ?>
</span>
</a>
Run Code Online (Sandbox Code Playgroud)
问题是变量没有传递给_home.phtml.我试过了Zend_Debug::dump($this->projects),结果是NULL.我试过了Zend_Debug::dump($this),我找到了项目数组.我究竟做错了什么?该变量未被传递给_home.phtml,或者可能是_home.phtml,更不用说它_projects-slideshow.phtml不知道是什么了$this->projects.
如果您的_home.phtml中的$ this->项目为空,我认为您应该更改
在index.phtml中
<?php echo $this->partial('partials/sidebar/_home.phtml', array($this->projects)); ?>
Run Code Online (Sandbox Code Playgroud)
成
<?php echo $this->partial('partials/sidebar/_home.phtml', array('projects' => $this->projects)); ?>
Run Code Online (Sandbox Code Playgroud)