新闻中心

Drupal技术文档翻译:解决外部javascript文件在info文件中无法被添加

作者 / 无忧主机 时间 2012-10-05 10:32:05

无忧主机主机小编(www.51php.com)已经写了一篇“Drupal官方文档翻译:Drupal 如何添加javascript”文件的,但根据drupal官网的国外站长的评论中发现是有一些问题需要处理的,那就是引入外部的javascript文件会遇到一些麻烦。那现在就和无忧主机小编一起来看看国外的站长的处理办法吧。 首先,我们知道在主题关联的.info文件中引入javascript是script[] = your_js_file.js,但这个地方添加js文件的话它是引入一个相对主题文件夹的地址,用这个方法添加外部javascript是完全没效果的。 更进一步说就是在template.php文件中使用的drupal_add_js()函数,这个函数在D 6.x中是无法被处理的,在D 7.x被修复了似乎。 而如果您在使用无忧主机的php虚拟主机的话,当然是不需要担心没有相关的drupal中文文献,废话不多说,直奔主题。 解决方法: 1、把您需要的js文件拷贝下来,并放到相关联的主题的文件夹下,通过.info文件添加。 2、为您的主题创建一个模版文件,用一个预处理函数来加载使用。 这里呢,国外的小站长呢喜欢这第二种办法。 这里就来详细收一下,先创建一个名为“external-js.tpl.php”的文件,包含下列代码:

<?php

<script
 type="text/javascript" src=" 外链js文件.jx"></script>

?>
接着,在template.php文件中创建一个预处理函数,这个预处理函数被加载进一个变量并加适当的功能调用到$footer。
<?php

function
 Nefertari_preprocess_page(&$vars){

$path = drupal_get_path('theme',
 'Nefertari');

$vars['external_js'] =
 theme_render_template($path.'/external-js.tpl.php', $vars);

$vars['footer'] .= '<script
 type="text/javascript">_uacct = "UA-GOOGLE-ID";
 urchinTracker(); </script>';

}
最后,在page.tpl.php的$script后打印出$extern_js文件。 而drupal 7.x中只需要在template.php中加入
<?php

/**

* Override or insert
 variables into the html template.

*/

function
 theme_preprocess_html(&$vars) {

//include the js file in the header

drupal_add_js('path_to_your_js_or_url');

//example :
 drupal_add_js(path_to_theme().'/js/google-analytics.js');

}

?>
以上为原文官方技术文档翻译,希望大家多多指正。 原文地址:http://drupal.org/node/171205   纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/drupal/8970.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服