Views (deutsch: Ansichten)
Das Modul "Views" ist mit Sicherheit eines der Wichtigsten beim Aufbau einer umfangreicheren Drupal-Plattform.
Es ermöglicht das Auflisten von Beiträgen unter einer definierbaren URL oder in einem Block. Die Konfiguration ist relativ komplex, lässt aber kaum Wünsche offen:
Ausgabe
Als Ausgabe kann festgelegt werden, ob eine Seite und/oder ein Block zur Verfügung gestellt werden soll.
Wählt man Seite UND Block gibt es die Zusatzmöglichkeit in einem Block z.B. nur drei Beiträge zu listen, und über einen "Mehr"-Link dan zu der Seiten-Ansicht der selben View zu gelangen auf welcher alle Beiträge gelistet sind.
Anordnung
Als Ausgabeform stehen Liste, Tabelle, Teaser (gekürzte Fassung) und ganzer Inhalt zur Verfügung. Das Modul "Views-Bonus" bringt an dieser Stelle noch ein "Grid" bereit. Für die ersten beiden lassen sich dann noch die Felder auswählen, die angezeigt werden sollen.
Filter
Welche Inhalte angezeigt werden sollen, entscheidet der Filter. Dieser arbeitet invers, ein View zeigt also zunächst ALLE Inhalte an. Über die Filterung des Inhaltstyp, des Veröffentlichungsstatus, Autor oder oder oder lässt sich die Menge der Beiträge auf die gewüschte reduzieren.
Andere Module implementiern auch hier weiter Filter! Das Buddy-List Modul stellt einen Filter für Views bereit, der auch Kriterien wie "Autor ist Buddy des aktuellen Benutzers" u.ä. zu lässt.
Detail
Am unteren Ende der Marathon-Konfigurations-Seite befindet sich der Abschnitt "Argumente". Diese ermöglichen das Filtern der Beiträge nach einem an der URL angehängtem Parameter. Zum Einsatz kann diese Funktionalität kommen, um über eine Liste von Einträgen zu einer anderen Views zu verlinken, und Werte aus der ersten View filtern die Beiträge der zweiten. Praktisch ist ein Inhaltstyp "Foto-Galerie" denkbar, und ein Typ "Foto". Bei der Eingabe eines Fotos wählt man in einem CCK Node-Referenz-Feld die Galerie aus. In dem Template der Galerie bindet man nun eine View ein, welcher als Argument die ID der aktuellen Galerie angehängt wird und zeigt so nur die Fotos, die der aktuellen Galerie zugeordnet sind.
Fazit
Views ermöglichen jede Art von Auflistung von Beiträgen. Die detaillierten Konfigurationsmöglichkeiten sind komplex, aber ermöglichen immens ohne manuell programmieren zu müssen.
- Anmelden oder Registrieren um Kommentare zu schreiben
View einbinden
am 22.07.2007 - 08:28 Uhr
<?php
$argument = "/";
$argument .= $node->name;
$view_name = 'Blogs'; //Name des Views
$limit = 5; // Anzahl der Nodes
$view_args = array();
$view = views_get_view($view_name);
print views_build_view('embed', $view, array($node->name), false, 3);
?>
Diesen Code kann mal auf beliebigen Seiten einsetzen und dann wird die View ausgeben
z.B. gut für eine Startseite
View - Anzahl der Nodes / View einbinden
am 19.12.2007 - 18:08 Uhr
Hallo zusammen,
a) ich habe bei mir nicht die Option beim Filter die Anzahl der Nodes auszuwählen. Fehlt mir ein Modul oder mache ich etwas falsch?
b) beim einbinden des Codes erhalte ich folgende Fehlermeldung, was hat sie zu bedeuten?
* warning: Invalid argument supplied for foreach() in /home/www/modules/views/views_query.inc on line 81.
* warning: Invalid argument supplied for foreach() in /home/www/modules/views/views_query.inc on line 16.
* warning: Invalid argument supplied for foreach() in /home/www/modules/views/views_query.inc on line 195.
* warning: Invalid argument supplied for foreach() in /home/www/modules/views/modules/views_node.inc on line 801.
* warning: Invalid argument supplied for foreach() in /home/www/modules/views/views_rss.module on line 56.
Für tipps bin ich dankbar!
Gruß, der Jenzen!!
das Problem ist das du
am 22.12.2007 - 16:00 Uhr
das Problem ist das du wahrscheinlich das Argument mit einbindest
wirklich nur die views einbinden:
<?php
$view_name = 'Blogs'; //Name des Views
$view = views_get_view($view_name);
print views_build_view('embed', $view, array(), false, 3);
?>
Danke!
am 23.12.2007 - 09:32 Uhr
Genau das war das Problem, jetzt funktionierts!
Problem
am 20.01.2008 - 18:25 Uhr
Hallo habe auch das selbe Problem. Ich würde diesen jetzt auch beheben. Nun weiß ich nicht in welcher Datei ich das Agument einbinden muss. Kann mir jemand dabei helfen ?
Deutsche Version?
am 03.02.2008 - 00:41 Uhr
Gibt es keine Deutsche Version dieses Moduls?
Oder eine Möglichkeit einer Übersetzung.
Schon in Englisch ist es ohne Anleitung (und Wissen darum) nicht möglich es zu bedienen, aber die englischen Spezialbegriffe machen es nicht gerade einfacher es zu versuchen.
Es funktioniert ja nicht mal den gerade erstellen View per URL aufzurufen:
"Die Seite wurde nicht gefunden."
URL: testview
Gewählt durch anklicken in "Administer views".
warum antwortet hier keiner?
am 20.07.2008 - 22:39 Uhr
Gibt es keine Deutsche Version dieses Moduls?
Oder eine Möglichkeit einer Übersetzung.
hallo,
eigentlich bist du hier ja schon in der deutschen übersetzung gelandet, das modul selber hat eigentlich deutsche ausgaben.
wenn "Die Seite wurde nicht gefunden." kommt schau mal nach, ob der status "aktiviert" ist bzw. deine "abfrage" auch einen inhalt ergibt (z.B. "alle einträge nach 2999" ergibt normalerweise keinen inhalt).
hallo,wo kann man den Code
am 21.11.2008 - 15:53 Uhr
hallo,
wo kann man den Code einbinden?
Ich habe es in einer node-TemplateDatei versucht, und erhielt dort diesen Fehler
"Fatal error: Call to undefined function views_build_view() in"
Oder ist der Code dafuer gedacht in einem Node als als PHP-Code eingetragen zu werden?
Mir das mit den Views und den Argumenten noch etwas schleierhaft, hatte so gehofft mit einer extra Seite dem Problem aus dem Weg zu gehen.
mfg
markus
Drupal 6.6
hallo, habe auch gleich was
am 21.11.2008 - 15:56 Uhr
hallo,
habe auch gleich was gefunden, so als Loesung:
$view = views_get_view('viewname');
print $view->execute_display('default', $args);
In welchem Teil von Drupal
am 02.01.2010 - 22:54 Uhr
In welchem Teil von Drupal hast du deinen php-Code eingebunden:
in einem Node?
in einem View?
Gruß