joomla 3.x中组件前端视图中的外部javascript文件
我正在为Joomla 3.x开发一个定制组件。我在函数display()中的\com\u mycomponent\views\pages\view.html.php中的一个名为“pages”的组件前端视图中添加了一个外部JavaScript文件。我在此函数中使用此代码:joomla 3.x中组件前端视图中的外部javascript文件,javascript,joomla,components,Javascript,Joomla,Components,我正在为Joomla 3.x开发一个定制组件。我在函数display()中的\com\u mycomponent\views\pages\view.html.php中的一个名为“pages”的组件前端视图中添加了一个外部JavaScript文件。我在此函数中使用此代码: $document = JFactory::getDocument(); $document->addScript(JURI::root().'media/com_mycomponent/js/gallery.js');
$document = JFactory::getDocument();
$document->addScript(JURI::root().'media/com_mycomponent/js/gallery.js');
当我检查firebug时,我看到文件已经加载,但问题在于排序。正如您在下面看到的,它位于jquery.min.js之前。我还尝试使用相同的代码在\com\u mycomponent\views\pages\tmpl\default.php中添加此文件,但出现了相同的问题。这是我从萤火虫那里得到的
<script type="text/javascript" src="http://localhost/tester3/media/com_mycomponent/js/gallery.js">
<script type="text/javascript" src="/tester3/media/jui/js/jquery.min.js">
<script type="text/javascript" src="/tester3/media/jui/js/jquery-noconflict.js">
<script type="text/javascript" src="/tester3/media/jui/js/jquery-migrate.min.js">
非常感谢您的帮助。我不能100%确定
JHtml
方法是否能够处理订购问题,但最好尝试一下。因此,请将其替换为:
$document = JFactory::getDocument();
$document->addScript(JURI::root().'media/com_mycomponent/js/gallery.js');
为此:
JHtml::_('bootstrap.framework');
JHtml::_('jquery.framework');
JHtml::_('script', JUri::root() . 'media/com_mycomponent/js/gallery.js');
我在view.html.php和default.php中尝试了您的推荐,但问题仍然存在,这很奇怪@Gaz-尝试使用
JHtml::(('jquery.framework')
before,如上所示,这一次它有点起作用,但它仍然位于bootstrap.min.js和template.js之前。如果它位于template.js之前,应该不会有问题。但是为了确保它位于bootstrap.min.js之后,请参阅我的更新答案。我的意思是,这是将外部js文件添加到组件的正常方式吗?