启用了 Boost 模块缓存整个网站,或者需要在站外调用 Drupal 网站的数据,如何调用 Drupal 中的动态数据?
Ajax 调用 Drupal 中的 block 需要以下步骤
- 启动 Drupal 页面
- 动态输出 block 的内容,json 格式或者 html 格式
- 在目标页面中 Jquery 输出 Ajax 调用的数据
启动 Drupal 输出HTML格式内容
1
2
3
4
5
6
7
| <?php
// block.php
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$block = module_invoke('statistics', 'block', 'view', 0);
print $block['content'];
?> |
在目标页面中 Jquery 输出 Ajax 调用的数据
1
2
3
4
| <div id="info"></div>
<script>
$('#info').load('/block.php')
</script> |
//add the client side js
function hook_init()
{
drupal_add_js(‘$(document).ready(
function(…){});
‘,’inline’);
}
//server side callback
function my()
{
drupal_set_header(‘Content-Type: text/plain; charset: utf-8′);
$output = ”;
…
echo json_encode($output);
}
jQuery是一个简洁快速的JavaScript库,它能让你在你的网页上简单的操作文档、处理事件、运行动画效果或者添加Ajax交互。jQuery的设计会改变你写JavaScript代码的方式。
jQuery适合于设计师、开发者以及那些还好者,同样适合用于商业开发,可以说jQuery适合任何JavaScript应用的地方,可用于不用的应用程序。
jQuery是一个轻量级的脚本,其代码非常小巧,JavaScript包只有15K左右。
jQuery支持CSS1-CSS3,以及基本的xPath
jQuery是跨浏览器的,它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+