$ document-> addStyleSheet已弃用

时间:2018-09-26 12:31:40

标签: css joomla joomla3.0 joomla-extensions

在我的Joomla组件中,我根据phpstorm添加了一个样式表,该样式表已被$ document-> addStyleSheet弃用。

这是我使用的代码:

$uri = JUri::base();
$document = JFactory::getDocument();

$document->addStyleSheet(JUri::base() .  "components/com_exampe/views/stats/tmpl/style.css");

我也尝试了以下代码:

JHtml::stylesheet('com_hccxmlkadernet/views/statistiek/tmpl/style.css', array(), true);

但是那也被弃用了

有人可以告诉我这样做的正确方法吗?

3 个答案:

答案 0 :(得分:0)

该错误在Joomla中。 我联系了phpstorm 这就是答案

这是该标签的错误用法:http://docs.phpdoc.org/references/phpdoc/tags/deprecated.html 您不能弃用某个特定的签名,而只能弃用整个结构元素(在这种情况下为方法)。 Is It Possible to Deprecate Method Parameters in PHP?

答案 1 :(得分:0)

我想我们是说不要这样做:https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page

我在phpstorm上对我的Joomla项目进行了编码,但此语法没有收到任何警告:

JHtml::_('stylesheet', 'com_hccxmlkadernet/views/statistiek/tmpl/style.css');

或为此:

JHtml::_('jquery.framework');

JHtml::_('script', 'media/mod_modulename/js/ajax.js');

说实话,我还没有真正调查过它。我确定我只是从helloworld教程中复制粘贴了它,该教程是关于如何编写基本模块的。

以下是一些支持:

答案 2 :(得分:0)

Joomla在文档方面很烂。这就是为什么它从未像Wordpress那样流行并且可能从未像Wordpress那样广泛使用的原因之一。 (Joomla的家伙应该看一下Wordpress文档并从中得到启发,它干净整洁,易于找到有关内置方法/ Fn的正确信息)

根据此页面: https://api.joomla.org/cms-3/classes/Joomla.CMS.Document.Document.html#method_addStyleSheet

addStyleSheet() 已弃用。我相信PhpStorm依赖此页面,这就是为什么您会收到过时的警告的原因。但实际上并不是不赞成使用整个方法,只是预期的参数略有改变。

v4.0 (url, mime, media, attribs) method signature is deprecated, use (url, options, attributes) instead.

所以,只要您使用;

$document->addStyleSheet($url)

您无需担心任何事情,您可以轻松进行(因为arg1在两个版本中均为$ url)。

重要提示 与@mickmackusa建议的不同,请勿使用JHTML。它已在J2.5中弃用,并已从J3.x中删除:

It used to be possible to do this with JHTML, however, this was deprecated in Joomla 2.5 and removed in Joomla 3.x.

参考:https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page