无法从我的模块加载javascript(通过addScript)

时间:2013-12-12 11:11:55

标签: joomla joomla3.0

我正在创建自定义模板和模块,现在它正在运行,但目前我无法从我的模块加载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方式以便加载模块脚本,我怎样才能加载我需要的文件?

1 个答案:

答案 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->获取您应用的所有脚本,样式表和其他数据。