Joomla无法取消设置mod_languages / css / template.css

时间:2017-02-04 06:58:44

标签: joomla

Joomla 3.x 以下代码无效

unset($doc->_styleSheets[JURI::root(true).'/media/mod_languages/css/template.css']);

谢谢

2 个答案:

答案 0 :(得分:1)

代码是正确的,我测试了它,它工作正常。 可能是你在渲染头后的插件事件中运行它,或者你已经缓存了页面并且代码没有真正运行。

在任何一种情况下,尝试将其放在组件级别,清除缓存,它应该可以正常工作

更新

识别组件:关闭SEF,然后查看显示为option=com_componentname;的网址 识别模块,只需重命名模块文件夹,然后更新站点;如果它工作,它是一个模块。 对于插件,首先重命名插件/系统和插件/内容,然后向下钻取,直到找到它。 或者,但速度要慢得多,你可以从后端打开和关闭模块和插件,直到找到罪魁祸首。

答案 1 :(得分:0)

我过去成功使用的一种变体:

unset($doc->_styleSheets[$this->baseurl.'/media/mod_languages/css/template.css']);  

更新

这是使用模块覆盖的替代方法,它应该适合您。

  • 如果它不存在,请在模板的文件夹中创建一个名为 html 的新目录,即: / templates / your-template / html / < /强>
  • 在其中,创建一个新的mod_languages文件夹,即 / templates / your-template / html / mod_languages /
  • 将文件从 joomla-site-root / modules / mod_languages / tmp / default.php 复制到上面的文件夹,即 / templates / your-template / html / mod_languages / default .php
  • 使用文本编辑器打开此文件,第12行查找JHtml加载mod_languages CSS的行,并将其注释掉。

    // JHtml::_('stylesheet', 'mod_languages/template.css', array(), true);

希望如此,这将为您提供帮助。

使用此方法覆盖Joomla核心输出是安全的,并且您将在未来的Joomla更新中失去工作。

有关Joomla覆盖的更多信息:
https://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

祝你好运!