在Zend Framework2中添加新的view / phtml文件

时间:2016-05-18 09:22:40

标签: php zend-framework view zend-framework2 structure

我想在我的索引文件夹中添加一个新的phtml文件,其中我已经有几个视图:

index
landing

依此类推......我使用以下逻辑访问它们:

sitename.com/index/landing 

sitename.com/index/index 

如何将phtml文件(我的新视图)添加到我的索引文件夹中,以便在我进入浏览器时能够看到它:

sitename.com/index/mynewview

我对整个Zend Framework都很陌生,而且我不确定结构是如何工作的,所以我想了解更多信息。你能帮我解决这个问题,我该怎么做?

谢谢堆! :)

P.S。视图位于以下目录结构中:

module/application/view/application/index/ 

然后是所有观点,这是我想添加新视图并从浏览器访问它的地方,如下所示:

/index/testview

编辑:

当我将testview.phtml添加到索引目录并在其中放入一些这样的测试标记时:

<h1> Testing new view page </h1>

它没有在浏览器上呈现

1 个答案:

答案 0 :(得分:2)

因为这是一个MVC框架,所以你跳过了几个步骤。你可能会得到一些严厉的回应,但我会尽快为你填补这些漏洞。

忽略文件夹结构一分钟。

这是一条路线:

/index/landing 

路由指向Actions内的Controllers工作。

假设您已经开始使用骨架,打开模块的module.config.php,您应该看到路由配置,例如: https://github.com/zendframework/ZendSkeletonApplication/blob/master/module/Application/config/module.config.php#L29

您需要为要投放的路线添加配置条目。它可以像/ index / landing的Literal条目一样简单,或者处理路由模式的更复杂(Segments,Regex等)。花些时间在这里修补和学习;路由对于使用MVC非常重要。

配置路由时,假设您已设置Controller,并且此Controller具有Action(路由指向该路径)。那个Action,你可以将模板文件(phtml,twig等)连接到路线:

// dummy action that serves index/testview
public function fooAction(){
    $vm = new Zend\View\Model\ViewModel();
    $vm->setTemplate('index/testview');
    return $vm;
}

索引/测试视图将位于模块的视图模板中,而不是公共文件夹中。

我认为这是一个合理的入门书,可以让你继续前进!

花些时间学习: http://zf2.readthedocs.io/en/latest/index.html#userguide

也许从这里开始: http://zf2.readthedocs.io/en/latest/in-depth-guide/understanding-routing.html

ZF2(V3即将来临!)是一件美丽的事情,值得。

祝你好运。