2012-09-07 25 views
1

您好我有我的Zend框架項目中的錯誤...Zend的layout.phtml錯誤

它提出:

無效的控制器指定(MyWeb即可)

這裏我的apache error.log

PHP警告:在/ var/www/myweb中爲foreach()提供的參數無效/application/layouts/scripts/layout.phtml上線107

這是我在layout.phtml代碼:

<?php foreach($this->category as $categories):?> 

    <li><a href="<?php echo $this->url(array('controller'=>'product', 'action'=>'index','category'=> $categories['categoriesName']), null, true);?>"><div id="sidemenu"> �<?php echo $categories['categoriesName'];?></div></a></li> 

    <?php endforeach;?> 

任何人可以幫助我嗎?

+0

misteck是在你的控制器,它不提供分類。所以你在layout.phtml中出錯 – Daya

回答

0

出現此錯誤是因爲您的數組$this->category爲空。如果這是空數組或返回什麼,那麼foreach循環將如何執行?

所以首先打印這個數組並檢查。

0

好像變量$this->category沒有在控制器中設置。您可以通過從您的控制器中定義$this->view->category來完成此操作。

大多數情況下,在佈局腳本中使用這些控制器生成的變量而不是相應的視圖腳本時,您希望在每個視圖中使用相同的數據。如果是這種情況,請檢查以下問題:Sending variables to the layout in Zend Framework

1

問題似乎是由於某種原因,您的網址顯示myweb作爲控制器而不是應該是您的控制器。

我的猜測是,你要使用localhost來顯示你的應用程序,以便在呈現相似的URL http://localhost/myweb/...

雖然可以使用本地主機查看ZF應用中,經常變得不方便,因爲應用程序變得更加複雜。我建議你使用vhost作爲更簡單的應用程序。

我很確定,當你解決url問題時,php警告可能會修復它自己。