2011-01-28 41 views
0

也许我不太了解MVC约定,但我试图将一个文件包含到主索引控制器的index.phtml视图中,并且它不断给我一个应用程序错误。我不知道这个错误是什么或者为什么它不起作用。但是我在视图中使用了一个标准的include_once(...)。如何将PHP文件包含在Zend/MVC的视图文件中?

这甚至允许吗?

+0

那么你如何为跨页面使用的相似模板创建视图? – qodeninja 2011-01-28 00:31:40

回答

3

Zend中的视图仍然只是一个php文件。如果使用include_once()在视图中发生错误,则可能是因为在包含路径中找不到您想要的文件。尝试将get_include_path()转储到视图中,您将看到PHP正在搜索哪些目录以查找包含的文件。

作为替代include_once,你可以使用

<? echo $this->render('{module}/{action}.phtml') ?>

文件中拉。

2

视图是仅将要呈现的HTML局部视图。这是处理的最后一件事。首先调用控制器,然后调用其中需要的任何模型。将所有数据传递给视图后,视图的HTML将被呈现。

总之:无论你在视图中包含什么,控制器都不知道它。你需要在代码中运行你的PHP包含。如果你在控制器中执行它,它应该工作正常,我想(没有测试过,所以我不保证任何东西)。

0

您可以使用Zend的视图助手为了这个目的

0

最后一次这个工作正常,我。你可以试试这个:

<?php echo $this->partial('common/left_menu.phtml'); ?> 
相关问题