【问题标题】:zend layout.phtml errorzend layout.phtml 错误
【发布时间】:2012-09-07 10:51:22
【问题描述】:

您好,我的 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;?>

谁能帮帮我?

【问题讨论】:

  • misteck 在您的控制器中,它不提供类别。所以你在 layout.phtml 中出错

标签: php zend-framework zend-view


【解决方案1】:

问题似乎是由于某种原因,您的网址将 myweb 显示为控制器,而不是您的控制器。

我的猜测是您正在尝试使用 localhost 来显示您的应用程序,因此正在呈现类似于 http://localhost/myweb/... 的 url

虽然可以使用 localhost 查看 ZF 应用程序,但随着应用程序变得越来越复杂,它通常会变得不方便。我建议您将vhost 用于任何其他非常简单的应用程序。

我很确定当您解决 url 问题时,php 警告可能会自行修复。

【讨论】:

    【解决方案2】:

    似乎变量$this-&gt;category 没有在控制器中设置。您可以通过在控制器中定义 $this-&gt;view-&gt;category 来做到这一点。

    大多数情况下,在布局脚本而不是相应的视图脚本中使用这些控制器生成的变量时,您希望在每个视图中使用相同的数据。如果是这种情况,请检查此问题:Sending variables to the layout in Zend Framework

    【讨论】:

      【解决方案3】:

      出现此错误是因为您的数组 $this-&gt;category 为空白。如果这是空白数组或不返回任何内容,那么 foreach 循环将如何执行?

      所以首先打印这个数组并检查。

      【讨论】:

        猜你喜欢
        • 2014-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多