Joomla模块加载CSS文件或JS文件

如果你的Joomla模板或者模块需要加入一些外部的CSS或JS文件,你或者会选择直接添加,例如

<script src="/templates/my_template/js/custom.js" type="text/javascript"></script>
<link rel="stylesheet" href="/templates/my_template/css/custom.css">

这样的做法并不是不可以,不过它们插入的位置,就只能是你的代码位置。而通常的情况下,我们更希望它们统一出现在页面head的位置。而且当模板有用到CSS/JS合并压缩功能的时候,你直接插入就不会起作用。

于是,我们需要更规范的插入方式:

在Joomla模板的插入方式

<?php
$doc = JFactory::getDocument();
$doc->addStyleSheet(Juri::base() .'templates/' . $this->template . '/css/custom.css');
$doc->addScript(Juri::base() .'templates/' . $this->template . '/js/custom.js', 'text/javascript');
?>

在模块模板的插入方式

<?php
JHtml::stylesheet(Juri::base() .'templates/my_template/css/custom.css');
JHtml::script(Juri::base() .'templates/my_template/js/custom.js');
?>

注意:替换你的实际文件名或真实路径