如何将jQuery库添加到Joomla管理中?

时间:2010-11-04 23:24:36

标签: jquery joomla joomla1.5

我正在使用Joomla 1.5,我想在joomla的后端添加jQuery库,以帮助我在组件视图的设计中添加交互。

我希望在管理的某些页面的HEAD部分添加jQuery,当然不会与已经包含在Joomla中的MooTools库发生冲突。

有谁知道怎么做?

2 个答案:

答案 0 :(得分:3)

你想知道真正的坏消息吗?为Joomla管理员制作的组件通常很大程度上依赖于MooTools(直到最近,一个非常古老的MooTools版本)。想知道这个好消息吗?如果在MooTools脚本之前插入jQuery脚本,MooTools将覆盖$变量,但您仍然可以访问jQuery变量。换句话说,jQuery将拥有$,而一些插件和模板可能会对你大喊大叫。

那么你怎么说?最简单的方法是遵循这条道路:

/libraries/joomla/document/html/renderer/head.php

在第129行的文件中输入“生成脚本文件链接”。在foreach数组上运行$document->_scripts...之前,请插入:

if ($mainframe->isAdmin) {
    $strHtml .= $tab.'<script type="text/javascript" src="/media/system/js/jquery.js"></script>'.$lnEnd;
}

只需将src替换为jquery脚本的路径即可。现在,在您的管理工具中,您将能够使用全局jQuery var引用jQuery对象,如下所示:

jQuery('#myElement').hide();

这就是Joomla倾向于让我疯狂的原因。但是嘿..它不是真正为开发人员构建的,而是为用户构建的。

答案 1 :(得分:1)

更好的方法,恕我直言,就是这样做你的文档就绪功能:

var $jq = jQuery.noConflict();

jQuery(document).ready(function($){
  // your doc ready code...
});

所以它做的第一件事就是将jQuery置于noConflict模式,它基本上将“$”重新分配给“$ jq”。所以不要像这样调用jQuery:$(x).y()你必须这样做:$ jq(x).y()。这一切都很好,花花公子。事实上,你甚至不必这样做,你也可以使用“jQuery”(即jQuery(x).y())。 “$”只是一个别名。

其次,上面的doc ready结构传入'$'作为参数,它再次作为jQuery的别名,并允许你在doc ready回调中使用'$'。

希望这会有所帮助。我会发表评论,但我没有足够的分数或任何评论意见。