如何在Joomla 3.1中嵌入JQuery和标签?

时间:2013-11-07 19:01:50

标签: javascript php jquery html joomla

我已将此代码添加到joomla 3.1中的default.php文件中。

<?php
JHtml::_('jquery.framework');
JFactory::getDocument()->addScript(JURI::root().'template/mytemplate/js/jquery.min.js'); 
?>  

这只会将脚本嵌入head标签中。

有没有办法让它出现在body标签中?

2 个答案:

答案 0 :(得分:0)

正如我对其他问题的评论中所述,您无法使用<body>JHtml()方法在JFactory代码中导入jQuery。这些方法会自动将脚本添加到<head>标记中。

您实现目标的唯一方法是使用<script>标签,但请注意我是如何做到的:

<?php
  // load jQuery, if not loaded before
  if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     ?>
     <script>
        jQuery.noConflict();
     </script>
     <script src="<?php echo JUri::root(). 'template/mytemplate/js/jquery.min.js'; ?>"></script>
<?php
  }
?>

这基本上检查是否已经导入jQuery,如果没有,则导入它。将此代码添加到模板文件夹中的 index.php

如果您在 index.php 中看到以下内容:

JHtml::_('jquery.framework');

然后删除它。

请记住,这不是推荐的方法,但是我知道在<body>标记之后导入它的唯一方法。

另请注意,如果您更新了模板,那么您的更改将会丢失

答案 1 :(得分:0)

你可以简单地把

?>
<script type="text/javascript" src="<?php echo JURI::root();?>templates/<?php echo $app->getTemplate();?>/js/jquery.min.js" />

进入你的模板index.php

?>
<script type="text/javascript" src="<?php echo JURI::root();?>templates/mytemplate/js/jquery.min.js" />

进入任何模板覆盖

我完全看不到这样做的好处。