Strict Standards: Non-static method K2ModelItemlist::getCategoryTree() should not be called statically, assuming $this from incompatible context in C:\xampp\htdocs\virgin\components\com_roksprocket\lib\RokSprocket\Provider\K2\Filter.php on line 151
所有
我有这个错误...我正在使用RokSprocket,Joomla并收到上述错误......它似乎起源于
protected function category($data)
{
if(file_exists(JPATH_SITE.'/components/com_k2/models/itemlist.php'))
require_once (JPATH_SITE.'/components/com_k2/models/itemlist.php');
$wheres = array();
foreach($data as $match){
$categories = K2ModelItemlist::getCategoryTree($match);
任何想法如何解决这个问题。
答案 0 :(得分:2)
使Joomla符合严格的要求仍在进行中。核心在这条道路上走了很长的路,但许多扩展开发人员仍然不了解当前的最佳实践。
保持最大error_level
,只需在function
关键字前添加public static
即可修复损坏的代码。您将在更新时放松,但您的VCS将帮助您快速重新修复。
在生产系统上,error_reporting
可以降低到不包括严格警告。配置服务器以记录错误而不是显示它们。
答案 1 :(得分:0)
K2ModelItemlist::getCategoryTree
未定义为静态。那里有你的错误信息。
是的,您可以在文件components/com_k2/models/itemlist.php
function getCategoryTree($categories) // line 576
替换为
static function getCategoryTree($categories)
但是你必须记住你自己的一些外来组件,因为升级后会丢失它。