我几分钟前创建了一个模块,以从RSS进料中提取信息,并在管理面板通知收件箱和工具栏中显示,它就在管理员菜单下方。

这是完美的,但遗憾的是,当我刷新时它不会加载新消息。我必须刷新Magento的缓存,然后刷新它以加载新消息。

我想禁用通知模块/块的缓存,因此每次加载页面时都可以加载所有新消息。

我厌倦了这一代码行,但它似乎没有工作:

<reference name="notification_toolbar">
<action method="setCacheLifetime"><s>0</s></action>
</reference>
.

我没想到这一点,因为它不是那个生成信息的,只能显示它。

可以有人请告诉我如何从此模块/块禁用缓存。

谢谢。

有帮助吗?

解决方案

我用自己想出来了!

浏览某些代码后,我意识到它具有更新频率计时器,因此我在管理面板的系统部分中查看,找到了配置下的更新频率选择器=> 系统=> 通知。不幸的是,它最少的时间是 1小时

我经过法师文件夹,发现以下提供时间。

mage / adminhtml / model / system / config / source / notification / suranfify.php

class Mage_Adminhtml_Model_System_Config_Source_Notification_Frequency
{
    public function toOptionArray()
    {
        return array(
            1   => Mage::helper('adminhtml')->__('1 Hour'),
            2   => Mage::helper('adminhtml')->__('2 Hours'),
            6   => Mage::helper('adminhtml')->__('6 Hours'),
            12  => Mage::helper('adminhtml')->__('12 Hours'),
            24  => Mage::helper('adminhtml')->__('24 Hours')
        );
    }
}
.

我然后添加了以下代码并运行了一些测试,这是一个工作!

0 => Mage::helper('adminhtml')->__('0 Minute'),
.

不确定我是否正确完成,但它确实确实是我需要的。 然后我用模块覆盖它来完成它。

希望它有助于他人!

其他提示

为什么你想要这个更新如此常见,不会涂上你的收件箱?

您可能有2个选项,您可以写一个清除此缓存的事件观察者。admin_notifications_lastcheck是我可以找到关于通知的缓存标记。

另一个选项是通过在核心/ adminnotification / model/feed.php中编写setLastupdate函数的重写来使缓存生命周期非常短,您可以为此功能提供缓存生命周期的参数。

我没有尝试,我匆忙但是因为没有答案,我以为我应该分享它。如果您需要它,我可以在明天添加更多信息。

许可以下: CC-BY-SA归因
scroll top