3

我在这里使用代码

<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中标头中的所有javascript

4

5 回答 5

5

要删除可以在模板中使用的脚本:

$doc = JFactory::getDocument();    
unset($doc->_scripts[$this->baseurl.'/media/system/js/mootools-core.js']);
于 2012-07-25T15:59:51.173 回答
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" />。它将删除所有脚本。

希望这会帮助你。

于 2013-07-18T14:01:50.613 回答
1

我是这样做的:

$doc = JFactory::getDocument();
$doc->_scripts = array(); // just clear array

在这条线之前

<jdoc:include type="head" />
于 2013-07-18T13:23:20.297 回答
0

head如果我正确理解了您的问题,您想删除标签之间的所有 javascript吗?

如果是这样,您需要在其中找到模板的文件夹joomla_root\templates\并在其中打开index.php(例如:joomla_root\templates\beez5\index.php)(我建议先备份)。然后删除head以以下开头的标签之间的所有内容:

<script type="text/javascript"

您可能还需要删除$doc->addScript(行..

于 2012-07-17T08:21:29.457 回答
0

您提供的行从另一个文件获取数据,因此它将是另一个包含嵌入 javascript 文件的代码行的文件。只需搜索

<script type="text/javascript"></script>

$document->addScript(.....);

你可能还会发现类似的东西

$document->addScriptDeclaration($variable);
于 2012-07-17T10:46:17.823 回答