我有一种情况,我需要为 Joomla 组件中的特定过滤器创建快捷方式。
问题是我无法取消设置,因为我不知道 Joomla 是否将表单字段设置为它自己的会话处理程序、请求处理程序或某种自定义处理程序。似乎也没有关于这个具体案例的任何文件。
完整的情况是我有一个链接,它将在与另一个链接相同的视图中自动过滤(在组件侧边栏中)。一个视图将只是一个特定的过滤器,另一个是标准的。因此,当您单击过滤后的视图时,我需要它,它将重置当前过滤器以确保所有内容都按原样显示,反之亦然,因此单击返回将再次重置过滤器。
我为此尝试了多种方法,尽管我可以始终强制它进行过滤,但是当我使用迄今为止尝试过的任何技术重新进入最后一页时,它不会重置表单,当然我想避免绕过Joomla 的默认功能。
if(JRequest::getVar('filter_group_id',false)==10){
JRequest::setVar('last_filter',true);
EthicstoolHelper::addSubmenu('supervisors');
}else{
if(JRequest::getVar('last_filter',false)===true){
JRequest::setVar('last_filter',false);
JRequest::setVar('filter_group_id',false)
}
EthicstoolHelper::addSubmenu('users');
}
这是我最近尝试过的想法,如您所见,我尝试将值重置为 false,希望 Joomla 将其读取为未设置,因为 JRequest 没有内置的 unset 方法。