我想在我的索引文件夹中添加一个新的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>
它没有在浏览器上呈现
答案 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即将来临!)是一件美丽的事情,值得。
祝你好运。