我已将此代码添加到joomla 3.1中的default.php文件中。
<?php
JHtml::_('jquery.framework');
JFactory::getDocument()->addScript(JURI::root().'template/mytemplate/js/jquery.min.js');
?>
这只会将脚本嵌入head标签中。
有没有办法让它出现在body标签中?
答案 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" />
进入任何模板覆盖
我完全看不到这样做的好处。