我有一个模块,允许用户选择一个类别,然后用于过滤组件的输出.因此,当用户首次点击菜单项时,视图显示来自所有类别的项目,然后当他们点击模块时,诸如&catid = 69等的参数被添加到URL并用于过滤显示的项目.
系统插件通过注册额外的'catid'参数来补充行为
$registeredurlparams->catid = 'INT';
$app->set('registeredurlparams', $registeredurlparams);
Run Code Online (Sandbox Code Playgroud)
该模块使用类别ID来创建缓存ID,并显示顶级类别+所选类别的子类别.
这可以在系统配置中启用保守缓存和启用系统缓存插件时正常工作.
我担心的是我无法使用渐进式缓存:即使组件输出正确缓存,模块也不会更新(因此我从未看到子类别).
最终我计划在JED上提供扩展,我希望与所有可能的缓存配置兼容.是否有可能强制渐进式缓存将我想要的参数添加到缓存ID?
不会接受诸如发送完整类别树和使用ajax进行操作的变通方法.