ZendFramework 2 使用技巧
1、指定使用模板文件
在Controller文件中,有时我们需要指定使用某个模板这个时候就需要下面的设置了
1 2 3 4 5 6 7 8 |
$view = new ViewModel(); $view->setTemplate('/xxxx/xxx.phtml'); $array = array(); ………… $view->setVariables($array); |
2、接收POST或GET的FROM内容
1 2 3 4 5 6 7 |
$this->request->getPost()->toArray(); //以数组形式接收POST过来的内容 $this->request->getPost('timestamp');//接收单独POST过来的值 $this->request->getQuery()->toArray(); //以数组形式接收GET过来的内容 $this->request->getQuery('timestamp');//接收单独GET过来的值 |
3、controller中获取网站url
1 |
$this->getRequest()->getServer('HTTP_HOST').$this->url()->fromRoute('frontorder/default/order_page', array('action'=>'index')); |
如果获取相对路径
1 |
$this->url()->fromRoute('frontorder/default/order_page', array('action'=>'index')); |
4、在模板中获取网站url
1 |
$this->serverUrl(); |
如果包含当前文件
1 |
$this->serverUrl(true); |
5、当想改变模块下模板的路径及公共layout路径时,这里多用于在切换模板时
方法一:直接在 module.config.php文件中修改,这个修改就不细说了,没难度。
方法二:在模块下的Module.php文件添加代码,当需要改变默认路径和layout时,下面的代码就可以实现了
1 2 3 4 5 6 7 8 9 10 11 12 |
$app = $e->getApplication(); $serviceManager = $app->getServiceManager(); $templateMap = $serviceManager->get('Zend\View\Resolver\TemplateMapResolver'); $templateMap->setMap(array( 'site/layout' => __DIR__ . '/view/default/shopfront/index.phtml' )); $templatePath = $serviceManager->get('Zend\View\Resolver\TemplatePathStack'); $templatePath->setPaths(array(__DIR__ . '/view/default')); $viewModel = $e->getViewModel(); $viewModel->setTemplate('site/layout'); |
上面代码只是一个方法中的部分代码,至于如何使用,熟悉zf2使用的一看就明白了。
暂无评论