嗨,我的Zend Framework项目出错...
它提出了:
指定的控制器无效(myweb)
这是我的apache error.log
:
PHP警告:第107行的/var/www/myweb/application/layouts/scripts/layout.phtml中为
foreach()
提供的参数无效
以下是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 :(得分:1)
问题似乎是因为某些原因你的网址是myweb
作为控制器,而不是你的控制器。
我的猜测是您尝试使用localhost来显示您的应用程序,因此会显示类似于http://localhost/myweb/...
的网址
虽然可以使用 localhost 来查看ZF应用程序,但随着应用程序变得更加复杂,它常常变得不方便。我建议你使用vhost作为一个非常简单的应用程序。
我很确定当你解决网址问题时,php警告可能会自行解决。
答案 1 :(得分:0)
此错误是因为您的数组$this->category
为空。如果这是空白数组或什么都不返回那么foreach循环将如何执行?
所以首先打印这个数组并检查。
答案 2 :(得分:0)
似乎未在Controller中设置变量$this->category
。您可以通过从控制器定义$this->view->category
来完成此操作。
大多数情况下,在布局脚本中使用这些控制器生成的变量而不是相应的视图脚本时,您希望在每个视图中使用相同的数据。如果是这种情况,请查看以下问题:Sending variables to the layout in Zend Framework