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