Добавление фильтра в компонент Joomla

Как добавить фильтр в свой компонент Joomla?

Допустим? у нас есть какая-то таблица, в которой записи подразделяются на категории. Для организации дерева категорий будем использовать категории Joomla. 

Теперь добавим поле фильтра на страницу с записями

<fieldset id="filter-bar">
<div class="filter-select fltrt">
<select name="filter_category_id" class="inputbox" onchange="this.form.submit()">
 <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY');?></option>
 <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_jdvimageslist'), 'value', 'text', $this->filter_category_id); ?>
</select>
</div>
</fieldset>

Форма отправляется после выбора категории из списка

onchange="this.form.submit()"

Нужно чтобы значение категории запоминалось в сессии и использовалось в выборке записей.

Выборка записей находится в файле соответствующей модели:

protected function getListQuery()
{
  // Create a new query object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('id,images,title_alias,introtext,urls,catid');

$app = &JFactory::getApplication('site');

$option = JRequest::getWord('option');
$catid = $app->getUserStateFromRequest($option.'.f_categories', 'filter_category_id', 0);

if ($catid){
$query->where("catid=$catid");
}

$query->from('#__jdvimageslist');
return $query;
} 

в результате переменная filter_category_id будет браться из отправляемой формы и id категории будет заноситься в сессию в область 

$option.'.f_categories'

и применяться в SELECT запросе

if ($catid){
$query->where("catid=$catid");
}