Drupal技术文档翻译:解决外部javascript文件在info文件

高速度 主机主机小编(www.gaosudu.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。
<?phpfunction 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 headerdrupal_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.gaosudu.com/drupal/8970.html