Joomla コンポーネントで特定のフィルターのショートカットを作成する必要がある状況があります。
問題は、Joomlaがフォームフィールドを独自のセッションハンドラー、リクエストハンドラー、または何らかのカスタムハンドラーに設定するかどうかがわからないため、設定を解除できないことです。また、この特定のケースに関するドキュメントもないようです。
完全な状況は、別のリンク (コンポーネント サイドバー) と同じビューで自動フィルター処理されるリンクがあることです。1 つのビューは単なる特定のフィルターで、もう 1 つは標準です。フィルタされたビューをクリックすると、現在のフィルタがリセットされ、すべてが正常に表示されるようになります。
私はこれに対して多くのアプローチを試みましたが、一貫して強制的にフィルタリングすることはできますが、これまでに試した手法で最後のページに再入力してもフォームはリセットされず、もちろんバイパスを避けたいです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');
}
JRequestにはunsetメソッドが組み込まれていないため、Joomlaが設定されていないものとして読み取ることを期待して、値をfalseにリセットしようとしていることがわかるように、これは私が試した最新の考えです。