it-swarm.com.de

Wie thematisiere ich belichtete Filter?

Ich thematisiere eine Drupal 8 Views-Seite. Ich habe die twig-Vorlagendatei erstellt und kann die 2 exponierten Filter mit dem folgenden Code ausgeben. Das Problem ist das Wenn ich auf Anwenden auf die exponierten Filter klicke, passiert nichts. Wahrscheinlich fehlt ein Attribut, aber ich kann nicht herausfinden, wie es geht. Hat jemand dies getan?

{% if exposed %}
  <div class="view-filters form-group">
    {{ exposed.field_category_target_id }}
    {{ exposed.field_address_locality }}
    {{ exposed.actions }}
  </div>
{% endif %}

Hier ist der Ausdruck der exponierten Variablen exposed variable

2
Marcelo

Dies ist in einer Ansichtsvorlage nicht möglich. Die gerenderten Formularelemente sind nutzlos, da sie nicht in der HTML-Form vorliegen (zwischen <form>/</form>).

Dazu benötigen Sie eine benutzerdefinierte Formularvorlage, damit Sie sich innerhalb des Formulars befinden. Für das exponierte Formular gibt es bereits eine anpassbare Formularvorlage im Kern:

/core/themen/stabile/vorlagen/ansichten/ansichten-exponierte-form.html.twig

{#
/**
 * @file
 * Theme override of a views exposed form.
 *
 * Available variables:
 * - form: A render element representing the form.
 *
 * @see template_preprocess_views_exposed_form()
 */
#}
{% if q is not empty %}
  {#
    This ensures that, if clean URLs are off, the 'q' is added first,
    as a hidden form element, so that it shows up first in the POST URL.
  #}
{{ q }}
{% endif %}
{{ form }}

Sie können dieses twig in den Ordner/template Ihres Themas kopieren und die Formularelemente thematisieren:

  {{ form.field_category_target_id }}
  {{ form.field_address_locality }}
  {{ form|without('field_category_target_id', 'field_address_locality') }}

Weitere Informationen zum Hinzufügen und Verwenden dieser Formularvorlagen in anderen Formularen finden Sie unter Wie ordne ich dem Benutzer-Bearbeitungsformular eine Vorlage zu? .

6
4k4

Wenn Sie das Formular für verschiedene Ansichten unterschiedlich gestalten möchten, können Sie dies folgendermaßen tun:

Anzeigename Computername: my_view Name der Themendatei, die nur dieses Formular betrifft: views-exposed-form--my-view.html.twig

2
cesar.g