it-swarm.com.de

Fügen Sie jeder Seite ein eindeutiges Bannerbild hinzu

Ich habe mir in den letzten 2 Wochen Drupal 7) beigebracht. Bisher habe ich die allgemeine Idee und herausgefunden, wie man Ansichten verwendet (glaube ich), aber es ist am schwierigsten CMS Ich musste jemals lernen und habe viele Haare herausgezogen.

Das Problem, an dem ich jetzt festhalte, ist, dass ich den Site-Administratoren ein eindeutiges Bannerbild anhängen lassen möchte, das oben auf jeder Seite in meinem Thema angezeigt wird. Das Thema enthält einen Bannerbereich, der dieses Bild enthalten soll. Ich habe dem Inhaltstyp der Basisseite ein Bannerbildfeld hinzugefügt. Aber jetzt kann ich nicht herausfinden, wie dieses Bild im Bannerbereich und nicht im Fluss des restlichen Seiteninhalts (Text) angezeigt wird.

Ich habe ein paar Dinge mit Ansichten und Blöcken versucht, aber nichts funktioniert. Bitte helfen Sie!

5
Ben

Diese Methode ist ziemlich ähnlich zu dem, was Shoaid Nawaz oben gesagt hat. Für Drupal 7) können Sie das Modul Ansichten verwenden. In Verbindung mit einem benutzerdefinierten Themenbereich können Sie mithilfe des Ansichtsmoduls einen Block erstellen, in dem jeweils ein Bild angezeigt wird Knoten aus einem benutzerdefinierten Bildfeld, das für den Inhaltstyp angegeben wurde. Sie müssen über grundlegende Kenntnisse des Moduls Ansichten verfügen.

Hier ist, wie:

  • Erstellen Sie eine benutzerdefinierte Themenregion und nennen Sie sie so etwas wie "Bannerregion".
  • Fügen Sie in Ihrem Inhaltstyp ein Bildfeld hinzu und nennen Sie es "Bannerbild". Wenn Sie eine Beschreibung benötigen, aktivieren Sie Alt-Tags für das Bildfeld. Wenn Sie keine Diashow benötigen, beschränken Sie die Anzahl der Bilder auf 1. Für die Diashow können Sie das Modul views_slideshow verwenden.
  • Um Bannerbilder ähnlicher Größe zu erstellen, können Sie einen neuen Bildstil erstellen.
  • Erstellen Sie eine neue Ansicht. Nennen Sie es so etwas wie "Banner". Wählen Sie "Block" -Anzeige und nicht "Seite".
  • Wählen Sie in den Filterkriterien Ihren Inhaltstyp aus.
  • Fügen Sie einen Kontextfilter für "Content: Nid" hinzu und speichern Sie die Ansicht.
  • Gehen Sie nun zur Verwaltungsseite Ihrer Blöcke und fügen Sie den neu erstellten Ansichtsblock zu Ihrer neuen Bannerregion hinzu.

Zusamenfassend:

  • Das Bannerbild ist ein neues Bildfeld in einem vorhandenen Inhaltstyp.
  • Das Ansichtsmodul versteht mithilfe des Kontextfilters, welches Bild mit welchem ​​Knoten verknüpft ist.

Tipp: Möglicherweise möchten Sie diesen Block auf der Startseite deaktivieren, wenn Ihre Startseite kein Knoten ist.

Weiterer Tipp: Sie können andere Filtertypen zu den Filterkriterien hinzufügen, wenn Sie Banner für mehrere Inhaltstypen erstellen. Alternativ können Sie für jeden Inhaltstyp und jede Blocksteuerungssichtbarkeit einen Block erstellen, indem Sie in den Einstellungen der Ansichten "Kein Ergebnisverhalten" verwenden.

6
kaustavdm

Es gibt Header Image , ein Modul, aber leider nicht für Drupal 7. Ich denke nicht, ob Sie es selbst portieren können.

hier ist ein weiterer Leitfaden für alternative Zwecke.

1
Shoaib Nawaz

Ich habe es in einem Experiment mit Ansichten und Inhaltstyp auf andere Weise geschafft.

Ein Inhaltstyp (Banner) mit zwei zusätzlichen (Inhalts-) Feldern.

1. Image field
2. Visibility Location (URL) field

Dann habe ich eine Ansicht mit dem Anzeigetyp block erstellt.

Felder:

 - Image field (Imagecache output)

Filter:

 - Node type: Banner
 - Published: True

Kontextfilter:

- Content: Visibility Location

Ich habe dann die Optionen unter diesem Kontext-Filer wie folgt bearbeitet:

1. Select "Provide default value" 
2. then select type as "PHP code"  

Ich habe dann PHP contextual filter code wie unter

if(drupal_is_front_page()){
  return '<front>';
}else{
  return drupal_lookup_path('alias',$_GET['q']);
}

TEST : Ich habe den Ansichtsblock in den Header-Bereich eingefügt und zwei Knoten mit Bannertypen erstellt

  • Für Knoten 1 habe ich Visibility Location als <front>
  • Für Knoten 2 habe ich Visibility Location als contact-us

Und es hat funktioniert!

1
Shoaib Nawaz