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


Adding new view/phtml file in Zend Framework2

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

index
landing

等等…我使用以下逻辑访问它们:

sitename.com/index/landing 

sitename.com/index/index 

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

sitename.com/index/mynewview

我对整个Zend框架还很陌生,我不确定这个结构到底是如何工作的,所以我想了解更多。你们能帮我吗?我该怎么做?

非常感谢!:)

附言:视图位于以下目录结构中:

module/application/view/application/index/ 

然后这里是所有的视图,我想在这里添加我的新视图,并从如下浏览器访问它:

/index/testview

编辑:

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

<h1> Testing new view page </h1>

它没有在浏览器上呈现

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

忽略文件夹结构一分钟

这是一条路线:

/index/landing 

路由指向Controllers内部的Actions以工作。

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

您需要为要服务的路由添加一个配置条目。它可以像/index/landing的Literal条目一样简单,也可以是处理路由模式的更复杂的条目(Segments、Regex等)。花点时间在这里修修补补和学习;路由对于使用MVC非常关键。

配置路由时,假设您设置了一个控制器,并且该控制器有一个Action(您的路由指向该Action)。该操作是您可以将模板文件(phtml、trick等)连接到路由的地方:

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

该索引/testview将在模块的视图模板中,而不是在公共文件夹中。

我认为这是一本合理的入门读物,可以让你上路!

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

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

ZF2(V3即将到来!)是一个美丽的东西,它是值得的。

祝你好运。