我修改了我的joomla最新新闻模块,通过将这些行添加到helper.php来显示最近一个月的文章
$model->setState('filter.date_filtering', 'relative');
$model->setState('filter.relative_date', 30);
直到我今天将我的joomla安装升级到最新的Joomla 3.2.2之前一切正常。 它适用于公共访问和注册用户,但是当我在前端以管理员用户身份登录时,它返回一个空白输出,当我将错误报告设置为开发级别时,它会返回以下错误消息:
Notice: Undefined variable: nowDate in xxx/components/com_content/models/articles.php on line 471
Warning: Invalid argument supplied for foreach() in xxx/components/com_content/models/articles.php on line 546
Warning: Invalid argument supplied for foreach() in xxx/modules/mod_articles_latest/helper.php on line 105
Warning: Invalid argument supplied for foreach() in xxx/modules/mod_articles_latest/tmpl/default.php on line 13
当我查看com_content / models / articles.php,并将其与旧的3.2.1版本进行比较时,我发现在j 3.2.2版本中添加了这一新行:
if ((!$user->authorise('core.edit.state', 'com_content')) && (!$user->authorise('core.edit', 'com_content'))) {
如果我删除此行,则一切恢复正常。
我的问题是,它是否被认为是一个joomla 3.2.2错误?如果不是,我如何修改模块代码以允许我只显示最近30个月的文章而不修改articles.php?
谢谢
答案 0 :(得分:0)
我已经针对此问题提交了补丁。
这是PR和补丁:
对于Joomla 3.2
https://github.com/joomla/joomla-cms/pull/3084
https://github.com/joomla/joomla-cms/pull/3084.diff
https://github.com/joomla/joomla-cms/pull/3084.patch
对于Joomla 2.5.x
https://github.com/joomla/joomla-cms/pull/3085