Joomla:有一个模块渲染插件事件吗?

时间:2012-01-26 16:09:19

标签: plugins joomla joomla1.5

由于某些缓存问题,如果存在某些URL参数,我需要明确绕过特定模块的缓存。我到达的解决方法是破解render()中的libraries/joomla/document/html/renderer/module.php函数,其行是:

function render( $module, $params = array(), $content = null )
{
    // Existing code:
    $mod_params = new JParameter( $module->params );

    // My hack:
    if ($module->module == 'mod_foo')
    {
        if (certain URL parameters are present)
        {
            $mod_params->set('cache', 0);
        }
    }
    ...
}

当然,破解核心joomla代码是一个糟糕的想法,我想尽可能避免。那么,是否有一个适当的钩子我可以插入以实现相同的目标?我不认为我可以在模块级别做任何事情,因为如果渲染器已经决定从缓存中获取它,它甚至都不会被检查。

1 个答案:

答案 0 :(得分:0)

回答第一个问题,没有模块渲染事件,这里是the plugin doc's and the list of events in Joomla!

关闭模块的缓存。

请参阅The Art Of Joomla上的这篇文章,您可以查看其他文章:

  1. Using Cache to Speed Up your code

  2. JCache API