文档章节

Zend Framework 2 中,定制error 的layout

chinaweilu
 chinaweilu
发布于 2013/12/24 10:15
字数 321
阅读 50
收藏 0

404页面在我们平常浏览网页的时候并不会经常碰到,也因此很容易被忽略,在Zend Framework 2中,项目的结构已经默认提供了404 页面,包括样式等等。但是有时,我们需要定制符合自己网站的404 页面样式时,该怎么办呢?

其实非常简单,编辑错误页面的layout ,例如errorlayout

module.config.php

'view_manager' => array (
        'display_not_found_reason' => true,
        'display_exceptions' => true,
        'doctype' => 'HTML5',
        'not_found_template' => 'error/404',
        'exception_template' => 'error/index',
        'template_path_stack' => array (
            __DIR__ . '/../view' 
        ),
        'template_map' => array (
            'error/404' => __DIR__ . '/../view/error/404.phtml',
            'error/index' => __DIR__ . '/../view/error/index.phtml',
            'error/layout'=> __DIR__ . '/../view/layout/error_layout.phtml' 
        ) 
    ),

module.php

class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        $e->getApplication()->getServiceManager()->get('translator');
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
        $eventManager->attach(MvcEvent::EVENT_DISPATCH_ERROR,array($this,'onDispatchError'),100);
    }
    function onDispatchError(MvcEvent $e) {
        
        $vm = $e->getViewModel();
        $vm->setTemplate('error/layout');
        
    }
}

这个方式,解决由于路由问题导致的错误。

如果在controller > action 中进入错误页面,则非常简单,调用下面的方法:

$this->notFoundAction();


© 著作权归作者所有

共有 人打赏支持
chinaweilu
粉丝 1
博文 5
码字总数 2035
作品 0
朝阳
程序员
私信 提问
Zend Framework 2 中,定制error 的layout

404页面在我们平常浏览网页的时候并不会经常碰到,也因此很容易被忽略,在Zend Framework 2中,项目的结构已经默认提供了404 页面,包括样式等等。但是有时,我们需要定制符合自己网站的404...

phpy
2013/05/25
0
0
zendframework 禁用view和layout

在zend framework中使用layout布局之后,有些action中不需要view或者layout所有可以用下面方法禁用view和layout: $this->helper->viewRenderer->setNoRender(); $this->helper->layout->dis......

岭南六少
2011/06/13
0
0
几款主流PHP框架的优缺点评比

PHP语言还是比较常用到的一门计算机高级语言。我们将会在这篇文章中向大家主要介绍关于PHP框架相关优缺点评比,作为一个参考分享给朋友们。 主要参考的PHP框架包括:CodeIgniter、CakePHP、Z...

绿悠悠
2010/06/08
25.1K
20
基于 PHP 的开源内容管理系统--TomatoCMS

TomatoCMS 是一个基于 Zend Framework, jQuery 和 960 grid system 等技术开发的开源 CMS 系统。 TomatoCMS 认为每个站点是由许多不同的元素组成,叫做小部件。通过 TomatoCMS 提供的一个叫 ...

匿名
2010/01/14
11.1K
1
ZF2 Layout问题

@Jacky.Wang 你好,想跟你请教个问题: 在Zend Framework 2中,Layout文件使用echo $this->left;输出左边内容,而这个左边内容由navigationAction控制, 问:怎么在其他使用这个布局的Actio...

杨家二少
2013/12/27
458
1

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
15分钟前
1
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
21分钟前
1
0
《告诉你真实的美国教育》的读后感3900字

《告诉你真实的美国教育》的读后感3900字: 文章的开篇分析了我们耳熟能详的关于美国教育的小故事,就是那个因为幼儿园的老师教了“0”这个字母,然后妈妈告老师剥夺了孩子的想象力,再然后幼...

原创小博客
29分钟前
0
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
44分钟前
2
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
55分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部