我正在使用Joomla 1.5,我想在joomla的后端添加jQuery库,以帮助我在组件视图的设计中添加交互。
我希望在管理的某些页面的HEAD部分添加jQuery,当然不会与已经包含在Joomla中的MooTools库发生冲突。
有谁知道怎么做?
答案 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回调中使用'$'。
希望这会有所帮助。我会发表评论,但我没有足够的分数或任何评论意见。