本文默认项目目录:/
1. config/application.config.php 文件里config_glob_paths与module_paths顺序不能更改。
2. HTML仿IFRAME分块布局
特别是带有导航栏的页面,一般是把导航栏单独放一个文件包含到layout里,不进行刷新。这样可以在module的module.config.php的view_manager的设置子页面layout
<span style="font-size:14px;"> 'view_manager' => array(// 视图管理器
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'layout' => 'application/layout',
'template_map' => array(
'application/layout' => __DIR__ . '/../view/layout/layout.phtml',
'application/layout/top' => __DIR__ . '/../view/layout/top.phtml',
'application/layout/navi' => __DIR__ . '/../view/layout/navi.phtml',
'application/layout/footer' => __DIR__ . '/../view/layout/footer.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),</span>
然后在module的主layout里使用如下代码包含进来
<span style="font-size:14px;"><?php echo $this->render('uzone/layout/navi') ?></span>
3. Controller返回JSON
从Controller返回JSON格式数据至view可以有多种方法,这里仅使用其一。只需在Action中对返回参数进行JSON格式化:
<span style="font-size:14px;">$result = \Zend\Json\Json::encode($result);
$response = $this->getResponse();
$response->setContent($result);
return $response;</span>