Drupal 7 开发内部培训资料, 分头诗人

drupal_set_message的问题

赞成!
0
否决!

使用drupal_set_message定义提示信息,在前台page.tpl里使用$messages来显示,但是我想不同表单发出的信息放在不同位置,例如,A表单的$messages显示在顶部,B表单的$messages显示在底部,改如何做呢?

5 个回答

赞成!
0
否决!

可以通过模板覆写的手段来实现,比如首页为page--front.tpl.php,联系我们页为page--contact.tpl.php,然后把<?php print $messages;>放到你想放的区域就OK了。

仅供参考!

赞成!
0
否决!

但是我是同一个页面有多个表单,针对这个页面来区分显示的位置

赞成!
0
否决!

如果要直接用drupal 的message功能是应该无法做到。只能改写message

赞成!
0
否决!

用JS应该能做到,要复杂点了

赞成!
0
否决!

比如在定义两个区域,一个位于网页的上方,用#message2 ID包裹;另一个位于网页下方,用<div id="message1包裹。当提交第二个表单的时候,触发一个事件,根据这个事件,执行$(#message1).hide(),隐藏本该在下面的显示,然后把它的值付给#message2,这样上面的这个区域就显示提示信息了,不过要要CSS美化一下,让它和默认的mesaage样式一样,这个很简单的,F12就能查看的。