Views Ausgabe mit Argumenten in einem Block
am 14.11.2010 - 20:44 Uhr in
Hallo!
Ich habe eine View erstellt, die mir alle nodes vom type "Fussballmannschaft" anzeigt. Dabei habe ich beim node-type "Fussballmannschaft" ein Taxonomievokabular als Auswahlfeld definiert. Über den Taxonomiebegriff wird also die Mannschaft definiert (A-Junioren, B-Junioren, etc....). So ist ja jeder Node eindeutig zugewiesen. Wenn ich jetzt in der View ein Argument Taxonomiebegriff setze, dann kann ich sogar in der View-Vorschau mit der Eingabe der Argumente (den Term-IDs) mir meine gewünschte Anzeige darstellen lassen.
Jetzt zu meinem Problem:
Wie kriege ich es hin, dass die als Block erstellte View auf den jeweiligen Mannschaftsseiten mit jeweiliger Mannschaft dargestellt wird?
Nach allem was ich hier so gelesen habe ist mir lediglich klar, dass ich einen Block erstellen und dort einen mysteriösen PHP-Code einfügen muss, indem der Block irgendwie aus dem node der Mannschaftsseite und der Begriffs-ID die passende Darstellung basteln muss. Leider habe ich keinen Schimmer von PHP.
Könnt ihr mir da evtl. etwas weiterhelfen?
Viele Grüße, Luis!
- Anmelden oder Registrieren um Kommentare zu schreiben
Du mußt dann bei den
am 14.11.2010 - 21:32 Uhr
Du mußt dann bei den Argumenten einen Trick anwenden und sagen, was zu tun ist, wenn kein Argument vorhanden ist (ein Block bekommt nämlich kein Argument bei Views).
Wenn kein Argument => Standardargument bereitstellen über PHP Code
Ich habe hier 2 Schnipsel für 2 Anwendungsfälle:
$node = node_load(arg(1));
return ($node->title);
Hier wird aus der URL (node/x) die Nummer extrahiert, der Node geladen und der Titel als Argument zurückgegeben.
Bei einer Seite, die als URL-Alias mannschaft/***** hat, die Sterne als Argument übergeben:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL
$path = explode('/', $path); //break path into an array
if ($path[0] == 'mannschaft' && $path[1] != '') {
return $path[1];
}
Ich hoffe, Du kommst mit einer Variante weiter.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Vielen Dank für deine Hilfe,
am 14.11.2010 - 21:56 Uhr
Vielen Dank für deine Hilfe, aber ich fürchte mich überfordert schon dieser Code.
Das erste habe ich verstanden, funktioniert auch. Der Block zieht sich aus der jeweiligen Seite die node und stellt dann den Titel jener node dar.
Danach ist bei mir aber auch Schluss^^
Ich möchte ja eigentlich die View darstellen, mit den jeweiligen Einschränkungen, die durch die einzelnen Seiten gegeben werden, wo die View aufgerufen wird. Also wenn die View auf der Seite der A-Junioren als Block dargestellt wird, soll sie alle nodes vom type Fussballmannschaft darstellen, die den taxonomy-term A-Junioren aus dem Vokabular Fussballmannschaft besitzen.
Vielleicht deutet deine 2. Variante ja schon darauf hin, aber ich verstehe es leider nicht :(
Ich habe für die
am 14.11.2010 - 23:58 Uhr
Ich habe für die Mannschaftseiten jeweils einen URL-Alias definiert: mannschaft/Taxonomie-Term also z.B. mannschaft/A-Jugend und genau darauf greift die zweite Variante.
In der ersten Zeile wird der URL der Seite besorgt.
Die zweite Zeile bricht die URL (nach der Domain) bei den Slashes ("/") in Einzelteile und speichert die einzelnen Teile in einem Array.
Die If-Abfrage prüft nun, ob der erste Teil "mannschaft" ist und der zweite Teil nicht leer ist. Dann wird der zweite Teil, was dann der Name der Mannschaft sein müßte, als Argument für die View genommen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *