diff --git a/better_exposed_filters_exposed_form_plugin.inc b/better_exposed_filters_exposed_form_plugin.inc index d65787d..52e3db9 100644 --- a/better_exposed_filters_exposed_form_plugin.inc +++ b/better_exposed_filters_exposed_form_plugin.inc @@ -548,7 +548,7 @@ Title Desc|Z -> A Leave the replacement value blank to remove an option al /* * Handle exposed sort elements. */ - if (isset($settings['sort']) && !empty($form['sort_by']) && !empty($form['sort_order'])) { + if (isset($settings['sort']) && !empty($form['sort_by'])) { $show_apply = TRUE; // If selected, collect all sort-related form elements and put them @@ -558,7 +558,7 @@ Title Desc|Z -> A Leave the replacement value blank to remove an option al $sort_elems = array(); // Check for combined sort_by and sort_order. - if ($settings['sort']['advanced']['combine']) { + if ($settings['sort']['advanced']['combine'] && !empty($form['sort_order'])) { // Combine sort_by and sort_order into a single element. $form['sort_bef_combine'] = array( '#type' => 'radios', @@ -676,17 +676,21 @@ Title Desc|Z -> A Leave the replacement value blank to remove an option al $form['sort_by']['#prefix'] = '
'; $form['sort_by']['#suffix'] = '
'; - $form['sort_order']['#type'] = 'radios'; - if (empty($form['sort_order']['#process'])) { - $form['sort_order']['#process'] = array(); + if (!empty($form['sort_order'])) { + $form['sort_order']['#type'] = 'radios'; + if (empty($form['sort_order']['#process'])) { + $form['sort_order']['#process'] = array(); + } + array_unshift($form['sort_order']['#process'], 'form_process_radios'); + $form['sort_order']['#prefix'] = '
'; + $form['sort_order']['#suffix'] = '
'; } - array_unshift($form['sort_order']['#process'], 'form_process_radios'); - $form['sort_order']['#prefix'] = '
'; - $form['sort_order']['#suffix'] = '
'; } elseif ('bef_links' == $settings['sort']['bef_format']) { $form['sort_by']['#theme'] = 'select_as_links'; - $form['sort_order']['#theme'] = 'select_as_links'; + if (!empty($form['sort_order'])) { + $form['sort_order']['#theme'] = 'select_as_links'; + } // Exposed form displayed as blocks can appear on pages other than the // view results appear on. This can cause problems with @@ -694,13 +698,18 @@ Title Desc|Z -> A Leave the replacement value blank to remove an option al // a hint for theme functions to correct this. if (!empty($this->display->display_options['exposed_block'])) { $form['sort_by']['#bef_path'] = $this->display->display_options['path']; - $form['sort_order']['#bef_path'] = $this->display->display_options['path']; + if (!empty($form['sort_order'])) { + $form['sort_order']['#bef_path'] = $this->display->display_options['path']; + } } } if ($collapse) { $sort_elems[] = 'sort_by'; - $sort_elems[] = 'sort_order'; + + if (!empty($form['sort_order'])) { + $sort_elems[] = 'sort_order'; + } } // Add reset sort option if selected.