Темизация Views AJAX Exposed Filter. Я извращенец или так и нужно делать? ;-)

Главные вкладки

Аватар пользователя Koreychenko Koreychenko 10 октября 2012 в 12:37

Возникла задача сделать каталог товаров с сортировкой. Товары выводятся с помощью вьюхи, в левой колонке Exposed Filter. При изменении значения фильтра страница обновляется по ajax. Все замечательно работает.

Задача. Нужно изменить внешний вид фильтра. Например, вместо названия цвета товара поставить плашки, окрашенные в цвет, вместо типа товара - иконки. и т.п.

Темизировать фильтры и изменить их как бог черепаху - не проблема. Вопрос что делать с AJAX обработчиком.

Возникло следующее решение.
1. Делаем полностью свои фильтры, беря список значений из друпаловских фильтров.
2. Скрываем друпаловские фильтры с помощью css.
3. Биндим на свои фильтры события, что при клике на цвет, например, изменяется значение друпаловского фильтра и ему передается событие change().

Типа такого:

<a id="ajaxtest">Кликни меня, детка, я стану красным.</a>
<script>
jQuery("#ajaxtest").click(
function() {
jQuery("#edit-field-color-value").val("red");
jQuery("#edit-field-color-value").change();

});
</script>

Такие штуки замечательно работают. AJAX запрос ко вьюхе запускается, страница обновляется без перезагрузки.

Вопрос: это нормальное решение или можно проще?