Ajax pages
模块版本: Drupal 7.x
用户数: 200
依赖:无
模块类型: 网站导航
如果你的网站有播放歌曲的功能,你可能会遇到一个非常困扰的问题,就是如果点击其中一个连接到其他页面的时候,播放器就自动重新开始播放,而不会持续的播放,以前解决这个跨页持续播放的问题,通常是使用iframe,把歌曲放在iframe里面,但这种方式的用户体验非常不友好,现在好了,有了Ajax pages,这个问题就可以解决了。
测试网站:
使用方法:
1,开启模块后,在theme's html.tpl.php里面设置一个大的div容器,并给予一个id号,如:
... <div id="page-wrapper"> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?> </div> ...
2,在网站后台Administration -> Configuration -> User interface -> Ajax pages 里面设置默认的“Page wrapper selector”,把第一步指定id号填上去
3,设置"Ajax links selector",把需要无刷新的链接元素写进去,如:#page-wrapper a
4,设置指定什么页面显示。
另外还需要在主题里面增加一个无刷新区域,要来装载无刷新的内容。如一个播放器,或者其实内容。
1,编辑主题的 .info 文件,增加一个无刷新区域,我们这里起名为persistent
regions[persistent] = 'Persistent'
2,在template.php 里面调用hook_preprocess_html(),增加下面代码:
$variables['persistent'] = render($variables['page']['persistent']);
如果用Omega 主题,需要写成:
$variables['persistent'] = render($variables['page']['#excluded']['persistent']);
3,在html.tpl.php增加代码<?php print $persistent; ?>,如:
... <?php print $persistent; ?> <div id="page-wrapper"> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?> </div> ...
清空缓存。
4,在Structure -> Blocks,新增一个区块,并且放在Persistent区域,那么这个区块就会无跨页无刷新了(根据上面指定的链接)