如何在templete js之后包含组件js

时间:2014-01-09 06:15:19

标签: joomla

我在templete index.php上添加了javascript

$doc    =   JFactory::getDocument();
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/jquery.js', 'text/javascript');

并在下面的组件中添加了另一个

$document = JFactory::getDocument();      
$document->addScript($this->baseurl . '/templates/' . $this->template . '/js/validation.js');  

但总是js(validation.js)组件在templete js(jquery.js)之前添加

如何在templete js(jquery.js)之后添加组件js(validation.js)。

2 个答案:

答案 0 :(得分:1)

如果您在项目中使用jquery.js作为主jQuery库,那么您可以在jquery.js中的head模块之前简单地包含index.php。如下。

<script src="templates/js/jquery.js" type="text/javascript"></script>
<jdoc:include type="head" />

然后在您的组件中,您可以使用与下面相同的内容。

$document = JFactory::getDocument();      
$document->addScript($this->baseurl . '/templates/' . $this->template . '/js/validation.js');

备用选项是Addcustom标记,有助于向文档添加脚本。

$document   =   JFactory::getDocument();
$document->addCustomTag('<script src="'.$this->baseurl . '/templates/' . $this->template . '/js/validation.js" type="text/javascript"></script>');

否则,您必须在js中加载第二个订单的index.php组件,但这会为所有页面加载js文件。

希望它的帮助..

答案 1 :(得分:1)

我正在通过谷歌找到一个解决方案,我可以使用自定义标签功能,如下所示:

$document   =   JFactory::getDocument();
$document->addCustomTag('<script src="'.$this->baseurl . '/templates/' . $this->template . '/js/validation.js" type="text/javascript"></script>');

和模板如下:

$doc    =   JFactory::getDocument();
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/jquery.js', 'text/javascript')