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

Ajax pages

模块地址: https://www.drupal.org/project/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区域,那么这个区块就会无跨页无刷新了(根据上面指定的链接)