在我的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);
但是那也被弃用了
有人可以告诉我这样做的正确方法吗?
答案 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