Drupal CCK + Views. Änderung der Darstellung der Mitarbeitergalerie.
Im vorherigen Tutorial haben wir mit den Drupal-Modulen Views und CCK eine Mitarbeitergalerie erstellt, die durch das Anlegen von Inhalten des Typs „Mitarbeiter“ gefüllt wird. Im Inhaltstyp Mitarbeiter haben wir zwei Felder hinzugefügt: Name (Textfeld) und Über den Mitarbeiter (Textarea). Dieses Tutorial zeigt, dass dieselben Daten auf unterschiedliche Weise über Views ausgegeben werden können.
Aktuell wird die Mitarbeitergalerie folgendermaßen angezeigt:
Zur besseren Bedienung habe ich im Menü einen Link zur Mitarbeiter-View eingefügt. Als Pfad für die View verwenden Sie das Pfad-Property des Displays „Seite“.
Methode 1: Arbeiten wir mit der View der Mitarbeitergalerie – entfernen wir die Beschreibung jedes Mitarbeiters aus der Gesamtgalerie und machen den Namen (FIO) als Link zur Node des Mitarbeiters.
Zuerst entfernen wir das Beschreibungsfeld aus der Mitarbeitergalerie-View. Gehen Sie zur Übersicht der Views (Site-Building - Views) und wählen Sie die View Ihrer Galerie aus, bei mir heißt sie view_sotrudniki.
Klicken Sie auf das Bearbeiten der Felder und löschen Sie das Beschreibungsfeld. Speichern Sie danach die Änderungen. Keine Angst, wenn Sie Felder aus der Anzeige entfernen – dadurch werden keine Daten gelöscht.
Nun sieht die Galerie ohne Beschreibung so aus:
Als nächstes machen wir den Namen (FIO) zum Link auf die Node des Mitarbeiters. Öffnen Sie die View der Mitarbeiter und wählen Sie das Feld FIO:
Unten erscheinen die Einstellungen für das Feld FIO, wählen Sie dort „Link dieses Feld zur Node“ (Link this field to its node):
Speichern Sie die Änderung und nicht vergessen, auch die View zu speichern. Nun ist der Name als Link zur Node des Mitarbeiters aktiv:
Methode 2: Machen wir den Namen (FIO) zum Link auf die Mitarbeitergalerie-View, dabei übergeben wir aber die Node-ID des Mitarbeiters als Argument.
Über die Node-ID des Mitarbeiters zeigen wir einen Block mit der Beschreibung des Mitarbeiters direkt unter der Galerie an. Wenn z.B. die Node-ID 10 ist, führt der Link zum Pfad site_name/sotrudniki/10.
Öffnen Sie die View der Galerie und fügen Sie das Feld Inhalt: nid hinzu. nid steht für Node ID, also die eindeutige Nummer der Node. Beim Hinzufügen von nid wählen Sie „Nicht anzeigen“ (Exclude from display).
Das nid-Feld sollte ganz oben stehen, damit es für den Linkaufbau verwendet werden kann.
Jetzt öffnen Sie die Einstellungen des Feldes FIO und konfigurieren den Link so, dass er zu sotrudniki/[nid] führt.
Entfernen Sie das Häkchen bei „Link dieses Feld zur Node“ und setzen Sie stattdessen „Dieses Feld als Link ausgeben“ (Output this field as a link). Als Link-URL geben Sie sotrudniki/[nid] ein, wobei [nid] ein Platzhalter ist, den wir durch das oben angehobene nid-Feld verfügbar gemacht haben. Speichern Sie das Feld und die View.
Nun erstellen wir einen Block, der die Beschreibung des Mitarbeiters anzeigt. Nennen wir ihn view_block_sotrudniki. Fügen Sie in dieser View einen Block-Display hinzu.
Fügen Sie folgende Felder hinzu:
Inhalt: FIO
Inhalt: Über den Mitarbeiter
Filter:
Inhalt: Veröffentlicht - Ja
Inhalt: Typ - Mitarbeiter
Argument:
Inhalt: nid – in den Argumenteinstellungen geben Sie Folgendes an:
„Standard-Argument bereitstellen“ – falls kein Argument übergeben wird, kann das Argument mit Hilfe der Funktion arg() oder einer anderen Methode bestimmt werden. Die Funktion arg() nimmt als Parameter die Position des Arguments in der URL (z.B. sotrudniki/[nid]), die Zählung beginnt bei 0, wir wählen also das zweite Argument (Position 1), die Node-ID [nid], das erste Argument ist „sotrudniki“.
Weitere mögliche Argumenttypen:
Node ID aus URL (funktioniert, wenn das erste Argument „node“ ist, z.B. node/14);
Taxonomie-Term-ID aus URL (funktioniert, wenn das erste Argument „term“ ist; das Taxonomie-Modul behandeln wir in einem späteren Tutorial);
Benutzer-ID aus URL (funktioniert, wenn das erste Argument „user“ ist);
Diese Argumenttypen behandeln wir in weiteren Tutorials, aktuell geben wir PHP-Code ein: return arg(1);
Speichern Sie das Argument und die View. Nun erscheint der Block view_block_sotrudniki: Block. Jeder Block wird erstellt, sobald in einer View ein Display vom Typ Block hinzugefügt wird. Platzieren Sie den Block view_block_sotrudniki: Block im Bereich Inhalt (content). In den Sichtbarkeitseinstellungen des Blocks geben Sie an, dass er nur auf URLs mit dem Wort „sotrudniki“ angezeigt wird (damit die View mit der Mitarbeitergalerie aufgerufen wird) und danach eine Node-ID folgt (/* bedeutet, dass nach dem Slash ein beliebiger Wert erwartet wird).
Besuchen Sie nun die Seite site_name/sotrudniki. Durch einen Klick auf den Namen des Mitarbeiters wird dessen Name und Beschreibung angezeigt.