Созонов Алексей

Веб-разработчик

Как сделать свое поле в views exposed filters (расширенном фильтре)

09.08.2015

Создаем файл Module_Name.info

name = Module_Name
description = Add drop down menu.
package = User
core = 7.x

files[] = Module_Name.module

Создаем еще один файл Module_Name.module и добавляем:

function Module_Name_form_views_exposed_form_alter(&$form, $form_state) {
    dpm($form);
    if ($form['#id'] == 'views-exposed-form-clone-of-catalog-page-1') {
        $query = db_select('users', 'u');
        $query->fields('u', array('name'));
        $query->fields('u', array('uid'));
        $result = $query->execute();
        while($record = $result->fetchAssoc()) {
            $users[$record['name']] = $record['name'];
        }
        $form['uid'] = array(
            '#type' => 'select',
            '#title' => t('Selected'),
            '#options' => $users,
            '#weight' => '-1000',
        );
    }
}

Включаем модуль.

#Drupal