我想在我的索引文件夹中添加一个新的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即将到来!)是一个美丽的东西,它是值得的。
祝你好运。