新聞中心
Drupal技術(shù)文檔翻譯:解決外部javascript文件在info文件中無法被添加
無憂主機主機小編(m.love62.cn)已經(jīng)寫了一篇“Drupal官方文檔翻譯:Drupal 如何添加javascript”文件的,但根據(jù)drupal官網(wǎng)的國外站長的評論中發(fā)現(xiàn)是有一些問題需要處理的,那就是引入外部的javascript文件會遇到一些麻煩。那現(xiàn)在就和無憂主機小編一起來看看國外的站長的處理辦法吧。 首先,我們知道在主題關(guān)聯(lián)的.info文件中引入javascript是script[] = your_js_file.js,但這個地方添加js文件的話它是引入一個相對主題文件夾的地址,用這個方法添加外部javascript是完全沒效果的。 更進一步說就是在template.php文件中使用的drupal_add_js()函數(shù),這個函數(shù)在D 6.x中是無法被處理的,在D 7.x被修復了似乎。 而如果您在使用無憂主機的php虛擬主機的話,當然是不需要擔心沒有相關(guān)的drupal中文文獻,廢話不多說,直奔主題。 解決方法: 1、把您需要的js文件拷貝下來,并放到相關(guān)聯(lián)的主題的文件夾下,通過.info文件添加。 2、為您的主題創(chuàng)建一個模版文件,用一個預處理函數(shù)來加載使用。 這里呢,國外的小站長呢喜歡這第二種辦法。 這里就來詳細收一下,先創(chuàng)建一個名為“external-js.tpl.php”的文件,包含下列代碼:
<?php <script type="text/javascript" src=" 外鏈js文件.jx"></script> ?>接著,在template.php文件中創(chuàng)建一個預處理函數(shù),這個預處理函數(shù)被加載進一個變量并加適當?shù)墓δ苷{(diào)用到$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'); } ?>以上為原文官方技術(shù)文檔翻譯,希望大家多多指正。 原文地址:http://drupal.org/node/171205 純Linux環(huán)境下高端免備案【香港獨立IP地址】?php空間,僅僅只需199元一年起。商務(wù)中國域名核心代理直銷50元注冊國際頂級域名
本文地址:http://m.love62.cn/drupal/8970.html
![1](/wp-content/themes/starow_z/img/o-1.png)
![1](/wp-content/themes/starow_z/img/o-2.png)
![1](/wp-content/themes/starow_z/img/o-3.png)
![1](/wp-content/themes/starow_z/img/o-4.png)
![1](/wp-content/themes/starow_z/img/o-5.png)
![1](/wp-content/themes/starow_z/img/o-6.png)
![1](/wp-content/themes/starow_z/img/o-7.png)