array( 'handler' => array( 'label' => t('Radio buttons'), 'class' => 'FacetapiRadio', 'query types' => array('term'), ), ), ); } /** * Generates the radio buttons form from an array of options. */ function facetapi_radio_radio_form($form, &$form_state, $vars) { $form = array(); $form['#attributes'] = $vars['attributes']; $form['#attached']['js'][] = drupal_get_path('module', 'facetapi_radio') . '/js/facetapi_radio.js'; $form['select_query'] = array( '#type' => 'radios', '#options' => $vars['options'], '#default_value' => request_uri(), ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Filter'), ); if ($vars['settings']['auto-submit']) { $form['submit']['#attributes']['class'][] = 'js-hide'; } return $form; } /** * Handle radio buttons block submit. */ function facetapi_radio_radio_form_submit($form, &$form_state) { $url = $form_state['values']['select_query']; $url = drupal_parse_url($form_state['values']['select_query']); $url['path'] = substr($url['path'], 1); drupal_goto($url['path'], $url); }