我在这里使用代码
<head>
...
<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
$headerstuff = $this->getHeadData();
$headerstuff['scripts'] = array(); $this->setHeadData($headerstuff);
}
?>
<jdoc:include type="head" />
</head>
但是当运行代码是模板加载所有javascript时,如何修复它删除模板joomla中标题中的所有javasccript
答案 0 :(得分:5)
删除可在模板中使用的脚本:
$doc = JFactory::getDocument();
unset($doc->_scripts[$this->baseurl.'/media/system/js/mootools-core.js']);
答案 1 :(得分:4)
您可以从Joomla网站中删除不需要的脚本。你要么尝试这样
<?php
//get the all the script declarations
$document = JFactory::getDocument();
$headData = $document->getHeadData();
$scripts = $headData['scripts'];
//if you want to remove all the script
unset($scripts);
//if you want to remove specific file then try like this
unset($scripts['/media/system/js/mootools-core.js']);
?>
或尝试这样
//if you want to remove all the script
<?php unset($this->_scripts); ?>
//if you want to remove specific file then try like this
<?php unset($this->_scripts['/media/system/js/mootools-core.js']); ?>
您可以在<jdoc:include type="head" />
之前应用任何方法。它将删除所有脚本。
希望这会对你有所帮助。
答案 2 :(得分:1)
我是这样做的:
$doc = JFactory::getDocument();
$doc->_scripts = array(); // just clear array
在此行之前
<jdoc:include type="head" />
答案 3 :(得分:0)
如果我理解你的问题,你想删除head
标签之间的所有javascript吗?
如果是这样,您需要在joomla_root\templates\
中找到模板的文件夹并在其中打开index.php
(例如:joomla_root\templates\beez5\index.php
)(我建议先备份)。然后删除以{:1}开头的head
标记之间的所有内容:
<script type="text/javascript"
您可能还需要删除$doc->addScript(
行..
答案 4 :(得分:0)
您提供的行从另一个文件获取数据,因此它将是包含嵌入javascript文件的代码行的另一个文件。只需搜索
<script type="text/javascript"></script>
和
$document->addScript(.....);
你可能也会发现这样的东西
$document->addScriptDeclaration($variable);