2011-01-30 97 views
2

我會盡量描述這個儘可能好,我以前沒有遇到過這個問題,但也許我做錯了什麼。將參數傳遞給zend部分和zend partialLoop

在我的控制器:我有:對應於該控制器

public function indexAction() { 
     $this->view->projects = $this->projects->getProjects(); 
    } 

在視圖文件我有:

<?php echo $this->partial('partials/sidebar/_home.phtml', array($this->projects)); ?> 

我_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> 

而我的_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> 

問題是該變量未傳遞到_home.phtml。我試過Zend_Debug::dump($this->projects),結果是NULL。我試過Zend_Debug::dump($this),我找到了項目數組。我究竟做錯了什麼?該變量沒有被傳遞,或者可能是_home.phtml,更不用說_projects-slideshow.phtml不知道$this->projects是什麼。

回答

0

應該怎麼在這裏一直是:

$variables = array (
    'records' => $result 
); 

    $this->view->partial ("nodes/relations.php", $variables); 

數組中的變量命名。你的$this->projects->getProjects()究竟是什麼?

6

如果您_home.phtml $這個 - >項目是空的,我認爲你應該改變

index.phtml

<?php echo $this->partial('partials/sidebar/_home.phtml', array($this->projects)); ?> 

<?php echo $this->partial('partials/sidebar/_home.phtml', array('projects' => $this->projects)); ?> 
+0

我不能得到變量在第二個參數數組中定義('varName'=>'someValue') - 你可能知道我錯過了什麼嗎? – 2018-01-25 04:43:41