我为joomla创建了一个基本模板。这是我的文件结构。
templateDetails.xml
index.php
css/style.css
js/main.js
在index.php中的我把这行添加到javascript和css。
<?php
$doc = JFactory::getDocument();
$doc->addStyleSheet('templates/' . $this->template . '/css/style.css');
$doc->addScript('/templates/' . $this->template . '/js/main.js', 'text/javascript');
?>
css正常工作。但javascript无法正常工作。问题是什么?
答案 0 :(得分:1)
从/
移除addScript('/templates/
使其成为addScript('templates/
如果您正在使用localhost,则会指向localhost/
而不是localhost/yourjoomla/
答案 1 :(得分:1)
您应该使用JUri::root()
来定义Joomla网站的根目录。您还需要在为Javascript文件定义路径时删除第一个/
,如下所示:
$doc = JFactory::getDocument();
$doc->addStyleSheet( JUri::root() . 'templates/' . $this->template . '/css/style.css');
$doc->addScript( JUri::root() . 'templates/' . $this->template . '/js/main.js');
如果您使用的是Joomla 2.5或更高版本,也可以使用以下内容:
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
JHtml::_('script', JUri::root() . 'templates/' . $this->template . '/js/main.js');
答案 2 :(得分:0)