diff --git a/core/modules/views/views_ui/templates/views-ui-expose-filter-form.html.twig b/core/modules/views/views_ui/templates/views-ui-expose-filter-form.html.twig new file mode 100644 index 0000000..2c5fd20 --- /dev/null +++ b/core/modules/views/views_ui/templates/views-ui-expose-filter-form.html.twig @@ -0,0 +1,68 @@ +{# +/** + * @file + * Default theme implementation for expose filter form. + * + * Available variables: + * - form_description: @todo. + * - expose_button: @todo. + * - group_button: @todo. + * - required: @todo. + * - label: @todo. + * - description: @todo. + * - operator: @todo. + * - value: @todo. + * - use_operator: @todo. + * - widget: @todo. + * - label: @todo. + * - description: @todo. + * - has_left_column: @todo. + * - children: Child elements of the form that still need to be printed. + * + * @see template_preprocess() + * @see template_preprocess_views_ui_expose_filter_form() + * + * @ingroup themeable + */ +#} +{{ form_description }} +{{ expose_button }} +{{ group_button }} + +{% if required %} + {{ required }} +{% endif %} + +{{ label }} +{{ description }} + +{% if operator %} + {{ operator }} +{% endif %} +{% if value %} + {{ value }} +{% endif %} + +{% if use_operator %} +
+ {{ use_operator }} +
+{% endif %} + +
+ {% if widget %} + {{ widget }} + {% endif %} + {{ label }} + {{ description }} +
+ +{% if has_left_column %} +
+ {{ children }} +
+{% else %} + {{ children }} +{% endif %} + +{{ more }} diff --git a/core/modules/views/views_ui/views_ui.module b/core/modules/views/views_ui/views_ui.module index 8434656..979c2a8 100644 --- a/core/modules/views/views_ui/views_ui.module +++ b/core/modules/views/views_ui/views_ui.module @@ -125,6 +125,7 @@ function views_ui_theme() { 'views_ui_expose_filter_form' => array( 'render element' => 'form', 'file' => 'views_ui.theme.inc', + 'template' => 'views-ui-expose-filter-form', ), // list views diff --git a/core/modules/views/views_ui/views_ui.theme.inc b/core/modules/views/views_ui/views_ui.theme.inc index 2f92bdd..4d21b41 100644 --- a/core/modules/views/views_ui/views_ui.theme.inc +++ b/core/modules/views/views_ui/views_ui.theme.inc @@ -75,43 +75,57 @@ function theme_views_ui_view_info($variables) { } /** - * Theme the expose filter form. + * Prepares variables for Views UI expose filter form. + * + * Default template: views-ui-expose-filter-form.html.twig. + * + * @param array $variables + * An associative array containing: + * - form: A render element representing the form. */ -function theme_views_ui_expose_filter_form($variables) { +function template_preprocess_views_ui_expose_filter_form(&$variables) { $form = $variables['form']; - $more = drupal_render($form['more']); + $variables['form_description'] = $form['form_description']; + $variables['expose_button'] = $form['expose_button']; + $variables['group_button'] = $form['group_button']; + unset($form['form_description']); + unset($form['expose_button']); + unset($form['group_button']); - $output = drupal_render($form['form_description']); - $output .= drupal_render($form['expose_button']); - $output .= drupal_render($form['group_button']); if (isset($form['required'])) { - $output .= drupal_render($form['required']); + $variables['required'] = $form['required']; + unset($form['required']); } - $output .= drupal_render($form['label']); - $output .= drupal_render($form['description']); - $output .= drupal_render($form['operator']); - $output .= drupal_render($form['value']); + $variables['label'] = $form['label']; + $variables['description'] = $form['description']; + unset($form['label']); + unset($form['description']); + + $variables['operator'] = $form['operator']; + $variables['value'] = $form['value']; + unset($form['operator']); + unset($form['value']); if (isset($form['use_operator'])) { - $output .= '
'; - $output .= drupal_render($form['use_operator']); - $output .= '
'; + $variables['use_operator'] = $form['use_operator']; + unset($form['use_operator']); } - // Only output the right column markup if there's a left column to begin with + // Only output the right column markup if there's a left column to begin with. if (!empty($form['operator']['#type'])) { - $output .= '
'; - $output .= drupal_render_children($form); - $output .= '
'; + $variables['has_left_column'] = TRUE; } else { - $output .= drupal_render_children($form); + $variables['has_left_column'] = FALSE; } - $output .= $more; + $variables['more'] = $form['more']; + unset($form['more']); - return $output; + // Remove elements from the 'children' render array. + // @todo Refactor when http://drupal.org/node/1920886 is resolved. + $variables['children'] = drupal_render_children($form); } /**