Drupal 7 覆盖自定义主题中的 jquery js 文件
是否可以重写/覆盖自定义模板脚本变量中使用的默认 Drupal 7.26 jquery?
Is it possible to rewrite/override a default Drupal 7.26 jquery used in custom template scripts variable ?
我的意思是其中一个 js 文件:
I mean one of the js files:
<script type="text/javascript" src="http://drupal.dev/misc/jquery.js?v=1.4.4"></script>
通过自定义主题来的一个?
by one which comes by custom theme ?
我在 sites/all/MYTPL/template.php
中尝试过这个,但它不起作用:
I tried this in sites/all/MYTPL/template.php
but it doesn't work:
$scripts['misc/jquery.js']['data'] = $base_theme .'/js/packages/jquery-2.1.0.min.js';
我想知道是否有人在不使用任何模块(例如 jQuery Update
)的情况下管理它?
I would like to know if someone managed it without using any modules such as jQuery Update
?
=== 更新 ===
实际上我通过接受的答案解决了它,并根据@cojomojo 的答案进行了一些修改:
Actually I solved it by help of accepted answer with some modifications based on @cojomojo 's answer:
function THEMEname_js_alter(&$javascript) {
// Swap out jQuery to use an updated version of the library.
$javascript['misc/jquery.js']['data'] = drupal_get_path('theme', 'THEMEname') . '/js/packages/jquery-2.1.0.min.js';
}
推荐答案
在您主题的 template.php
文件中使用此代码,位于 hook_js_alter
.
Use this code inside your theme's template.php
file, in hook_js_alter
.
function [YOUR_THEME]_js_alter(&$js)
{
$jqKey = "my-new-jquery"; // a key for new jquery file entry
$js[$jqKey] = $js['misc/jquery.js']; // copy the default jquery settings, so you don't have to re-type them.
$js[$jqKey]['data'] = "https://code.jquery.com/jquery-2.1.0.min.js"; // the path for new jquery file.
$js[$jqKey]['version'] = '2.1.0'; // your jquery version.
unset($js['misc/jquery.js']); // delete drupal's default jquery file.
}
相关文章