just photo

Views: Exposed фильтры в блоке

обновление: October 2008

Drupal 5, Views.
Переносим пользовательские (exposed) фильтры в блок (например, в колонку справа от списка).

По умолчанию форма (exposed) фильтров на странице, полученной с помощью views, находится непосредственно над списком нодов (или комментариев).

Стандартное расположение фильтров

Но если количество фильтров довольно большое, тогда вам может понадобиться перенести фильтры в другое место, например в левую или правую колонку, хотя это довольно редкий случай.

Для этих целей здорово подойдет модуль Views_Filterblock.
С его помощью легко убрать фильтры, расположенные над списком и показывать их в любом другом месте как обычный блок.

Фильтры в блоке слева

Настройки блока фильтров:

Настройки

Добавляем еще одну кнопку

При таком расположении фильтров (слева или справа от списка) удобно когда кнопка расположена не только внизу под фильтрами, но и вверху над ними:

Кнопка над фильтрами

Для того, чтобы добавить дополнительную кнопку в форму фильтров:

  1. В любом своем модуле добавляем функцию:
    <?php
    function mymodule_form_alter ($form_id, &$form) {        
      if (
    $form_id == 'views_filterblock') {    
       
    $form['submit2'] = array(
         
    '#type' => 'button',
         
    '#value' => 'Выбрать'     
       
    );
      }
    }
    ?>
  2. В файле template.php добавляем:
    <?php
    function phptemplate_views_filterblock_output($form) { 
     
    $output = '<div class="btn">' . drupal_render($form['submit2']) . '</div>';
     
    $output .= drupal_render($form);
      return
    $output;
    }
    ?>

    Это функция темы описана в модуле Views_Filterblock.
    Так как в этом модуле переопределяется тема для формы фильтров, то добавление в функции mymodule_form_alter в массив #weight ничего не даст.

Спасибо, надо попробовать этот модуль в действии

Это Drupal 5 - так что на сегодня это уже устарело.

Отправить новый комментарий

Содержимое этого поля хранится скрыто и не будет показываться публично.
  • Адреса страниц и электронной почты автоматически преобразовываются в ссылки.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Автоматический перевод строки.
  • Вы можете публиковать код, размещая его в <code>...</code> (generic) или в <?php ... ?> (раскрашенный PHP).

Дополнительная информация о настройках форматирования