文档章节

magento Messages and Global Messages Blocks

2007lf
 2007lf
发布于 2015/04/17 13:27
字数 252
阅读 39
收藏 0

Both use the same block, as we can see in page.xml:

<block type="core/messages" name="global_messages" as="global_messages"/> 
<block type="core/messages" name="messages" as="messages"/>

When you add a message, you add it to the session, rather than to either of the
messages blocks, so the code below causes the Mage_Customer_Model_Session object
to have an error logged to it:

Mage::getSingleton('customer/session')->addError('Please enter all required information');

At this point neither message blocks know anything about the message, this is
where the difference between the global messages and the messages block comes
in - it’s purely down to what gets inserted into the relevant message block.

For the global messages block, I’m not sure how it gets filled actually, I can’t
find any reference in the code at all to something interacting with the block.

For the messages block, it gets filled by you using _initLayoutMessages() from
your controller, like so:

$this->_initLayoutMessages('customer/sesssion');

What this does is basically the following, which is a simplification from
Mage_Core_Controller_Varien_Action::_initLayoutMessages():

$storage = Mage::getSingleton('customer/sesssion'); 
$block = $this->getLayout()->getMessagesBlock(); 
$block->addMessages($storage->getMessages(true));

A side note - the Magento templates use this method call to render the message
block:

$this->getMessagesBlock()->getGroupedHtml();

This stops the Enterprise Full Page Cache from working, instead this should be
used:

$this->getMessagesBlock()->toHtml();

In summary - it looks like the global messages block is not used at all. If
anyone knows any better, let me know!

本文转载自:http://makandracards.com/magento/10723-messages-and-global-messages-blocks

2007lf
粉丝 8
博文 200
码字总数 43608
作品 0
合肥
程序员
私信 提问
加载中

评论(1)

2007lf
2007lf 博主
it looks like the global messages block is not used at all,if you know , please tell me
Find Past Image in RAC Global Cache

Instance 1: Start dump data blocks tsn: 0 file#:1 minblk 95753 maxblk 95753Block dump from cache:Dump of buffer cache at level 4 for tsn=0, rdba=4290057BH (0x8df55108) file#: 1 ......

科技小能手
2017/11/12
0
0
深入理解Magento – 第七章 – 自定义Magento系统配置

深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第七章 – 自定义Magento系统配置 Magento拥有十分强大的后台管理系统。作为一名开发人员,这套后台管理系统可以让你的用户简单直接的...

虫虫
2010/04/28
2.5K
7
谁帮我解释下。标注一下。我有点不明白。这个问题要怎么解决,求助。。common lisp新手真的很头痛

Write a program that is to reason about stacking blocks on a table. We might have a situation like: Each block that records its properties will be represented by "defstruct" as ......

刘昊源
2013/06/10
163
0
转【statspack】报告性能分析

=========================================================== 【statspack】报告性能分析 =========================================================== 作者: wyyhzc(http://wyyhzc.itpu......

jimbuster
2008/07/09
0
0
Rsyslog 7.4.8 发布,多线程 syslogd 版本

日志系统Rsyslog 7.4.8发布.2013-01-09 上个版本是2013-12-11的7.4.7。这是一个Bug修正版。增强了错误信息处理和2个Bug.其他产品系列是7.2.7 6.6.0 6.4.2 5.10.1 开发版7.5.8和8.1.3,现在R...

fei
2014/01/10
934
3

没有更多内容

加载失败,请刷新页面

加载更多

JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
今天
6
0
高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
14
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
2.7K
24
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
46
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部