文档章节

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
24.8K
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
437
1

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
47
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
41
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
45
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
40
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
47
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部