it-swarm.com.de

So benennen Sie views-exponed-form.tpl.php pro Ansichtsanzeige

Ich habe es versucht views-exposed-form--"view_name"--"display_name".tpl.php aber es funktioniert nicht. Ist es möglich, eine Vorlagendatei zu erstellen, die nur für den exponierten Filter einer Ansichtsanzeige gilt?

Ich habe zwei belichtete Filter von zwei verschiedenen Anzeigen in derselben Ansicht und möchte die beiden belichteten Filter durch zwei Vorlagendateien unterschiedlich thematisieren.

8
chinita7

Alles ist möglich in Drupal;)

Wahrscheinlich liefert Views nicht automatisch Vorlagenvorschläge für den exponierten Filter, wie dies für die Felder selbst der Fall ist. Sie müssen also ein bisschen mehr für diesen tun:

  1. Verwenden Sie das Modul devel_themer , um herauszufinden, welche Funktion/Vorlage diesen exponierten Filter thematisiert.
  2. Erstellen Sie einen Präprozessor für diese Themenfunktion/Vorlage. In Ihrem Präprozessor können Sie dann Vorschläge für dynamische Vorlagen einfügen, die je nach gewünschter Bedingung ausgelöst werden. Sie können diesen Präprozessor entweder in der Datei template.php Ihres benutzerdefinierten Themas oder in einem Ihrer benutzerdefinierten Module erstellen. Dieser D.O.-Artikel führt Sie beim Erstellen des Vorschlags für dynamische Vorlagen.

Ich gehe davon aus, dass Sie basierend auf einem URL-Pfad verschiedene Ansichten anzeigen. Wenn dies der Fall wäre, können Sie die Funktion arg() von Drupal in Ihrem Präprozessor verwenden, um herauszufinden, welche Ansichtsanzeige Sie gerade anzeigen, und Ihren Vorlagenvorschlag damit erstellen Information.

Sobald Sie Ihre Vorschläge richtig eingerichtet haben, wird Drupal würde automatisch die entsprechende Vorlage aufrufen und voilá, Sie haben verschiedene Filtervorlagen basierend auf dem Pfad (oder einer anderen Bedingung, die Sie in Ihrem Präprozessor angeben). .

2
amateur barista

Für Drupal 7 können Sie views-exponed-form - view_name - display_name.tpl.php verwenden (Ersetzen Sie Unterstriche durch Bindestriche in Ansichtsname und Anzeigename.)

So hat es bei mir funktioniert.

25
milkovsky

in drupal8

/ admin/structure/views/view/event_related

wäre

views-Exposed-Form - event_related.html.twig

3
Matoeil

Für drupal 8) werden im Theme-Debug-Modus die verfügbaren Vorlagenvorschläge nicht angezeigt. Mit kint () können Sie herausfinden, welche verfügbar sind, oder in diesem Hook neue erstellen:

/**
 * Implements template_theme_suggestions_node_HOOK_alter().
 * Add theme suggestions to the view exposed forms.
 */
function YOUR_THEME_theme_suggestions_views_exposed_form_alter(&$suggestions, $vars, $hook) {
  kint($vars['form']['#theme']);
  //$suggestions[] = 'views__exposed__form__' . $anything; 
}
1
Interdruper