Вывод фильтра Views в отдельный блок.

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

Аватар пользователя starcomputer starcomputer 15 апреля 2011 в 11:56

Возникла такая необходимость. Порыв сей форум в конце концов нашел решение.
Поскольку отдельные этапы разбросаны по разным темам (или я не нашел цельного) то решил выложить целиком Smile
1. При создании View ставим в Настройках представления "Отображать в блоке" в Да.
2. После создания вьюхи на странице блоков появится новый блок, у меня это "Выставлена форма: korall_gallery-default"
Теперь нужно организовать вывод этого блока в удобном месте.
3. Открываем МояТема.info и добавляем новый регион:

regions[filter] = Filter

4. Прописываем в page.tpl.php вывод региона в нужном месте (в моем случае ниже имеющегося региона banner3):

<?php if (!empty($banner3)) { echo $banner3; } ?>
<?php if (!empty($filter)) { echo $filter; } ?>

Расположение регионов можно посмотреть на странице блоков.
5. Добавляем функцию вывода региона в template.tpl.php темы:

<?php
/* Common methods */
function МояТема_preprocess_node(&$variables){ 
    if(!
$variables['teaser']) {
      foreach (array(
'filter') as $region) {
      
$variables[$region] = theme('blocks'$region);
       }
    }
}
?>

6. Очищаем кэш.
7. Открываем страницу блоков, вновь созданный регион должен появиться в указанном месте.
8. Распологаем наш блок фильтров в этом регионе.
Если у Вас несколько фильтров для разных вьюх, то для каждого блока нужно прописать, на какой странице он будет выводиться. У меня это korall_gallery* Ставим отметку "Выводить только на указанных страницах" и указываем страницу.

Вроде ничего не пропустил и не перепутал.

Комментарии

Аватар пользователя psy11 psy11 3 мая 2011 в 23:06

Как раз сейчас тружусь над выводом фильтров на боковую панель. Куда у вас выводиться результат работы фильтра?