我正在创建自定义模板和模块,现在它正在运行,但目前我无法从我的模块加载javascript。这是我的模块中的代码:
$doc = JFactory::getDocument();
$doc->addScript(JURI::root() . '/modules/mod_homenewslist/js/newslist.js');
我猜这与我加载CSS和JS旧时尚方式有关(我不喜欢将文件加载到头部的默认Joomla方式 - 许多文件)。这是我的头脑:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<?php $title = $this->getTitle(); ?>
<title><?php echo $title ?></title>
<link href="templates/pidizajnoptinapirottemplate/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link rel="stylesheet" href="templates/pidizajnoptinapirottemplate/css/reset.css">
<link rel="stylesheet" href="templates/pidizajnoptinapirottemplate/css/template.css">
<script src="templates/pidizajnoptinapirottemplate/js/modernizr-2.6.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/jquery-1.10.2.min.js"><\/script>')</script>
<script src="templates/pidizajnoptinapirottemplate/js/cycle.js"></script>
<script src="templates/pidizajnoptinapirottemplate/js/jfontsize.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="templates/pidizajnoptinapirottemplate/js/main.js"></script>
</head>
我做错了什么?如果我需要按顺序加载文件Joomla方式以便加载模块脚本,我怎样才能加载我需要的文件?
答案 0 :(得分:2)
首先,您不需要使用<script>
标记加载jQuery。这可以简单地使用以下方式完成:将其加载到noConflict模式:
JHtml::_('jquery.framework');
另外,对于您的模块脚本,请尝试删除“modules”之前的第一个正斜杠“/”,如下所示:
$doc->addScript(JURI::root() . 'modules/mod_homenewslist/js/newslist.js');
<强>更新强>
发现了这个问题。将以下内容添加到<head>
标记正下方的模板index.php文件中:
<jdoc:include type="head" />
使用$doc->
获取您应用的所有脚本,样式表和其他数据。