欢迎各位兄弟 发布技术文章
这里的技术是共享的
下面是简单的实现步骤,目的是传递 drupal 的 basePath 给 JavaScript 使用,当然这在 Drupal6 中是已经默认传递的,大家可以举一反三来使用:
//首先是在模块文件或者是主题的 template 文件中加入如下代码:
drupal_add_js(array('basePath' => $GLOBALS['base_path']), 'setting');
//然后你会发现在页面的 script 输出部分会有以下信息输出:
Drupal.extend({ settings:{"basePath": "/drupal/"} });
//这样你就可以在页面引入的 JavaScript 文件中直接调用该对象了如:
alert(Drupal.settings['basePath']);
非常方便主要起作用的是 drupal_add_js 的第二个参数 setting 他告诉 drupal 系统这段 js 是设置类型的数组,其他使用方法请访问 drupal 的线上 api 函数手册。其实在只传递一个变量时这种方法带来的优势并不明显,但如果有若干个模块需要传递多个变量给 JavaScript 的时候 drupal_add_js 函数会自动将他们合并到一起在页面头部输出,只调用一个 Drupal.extend() 方法为 Drupal 对象增加额外的值,也希望大家在写模块或模板的时候尽量遵循 Drupal 提供给我们的现有的 api 这将让你的工作事半功倍同时也让你的项目更容易维护代码更具有可读性。
来自 http://nan.im/blog/1251