Generell Inhalte aus der View-DArstellung in einen Block auslagern
Eingetragen von headkit (514)
am 23.11.2007 - 15:39 Uhr in
am 23.11.2007 - 15:39 Uhr in
Hi Leute!
Ich habe verschiedene Inhaltstypen erstellt und möchte nun bestimmte Felder in Blöcke auslagern. Diese Blöcke sollen dann natürlich nur die Felder der jeweils zur im Hauptbereich dargestellten Node darstellen.
Wie löst man denn sowas?
Mein Ansatz wäre hier mit einer neuen VIEW einen Block erzeugen und dann den richtigen Code im Blockelement einbinden und TRUE zurücksenden. Nur weiß ich leider nicht, wie der PHP-Code für eine Abfrage folgender Art ist:
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
return TRUE;
}
?>
müsste man erweitern zu UND WENN INHALTSTYP = "soundso" ist.
Aber wie bekommt man dann die VIEW dazu nur Noderelevante Inhalte zu zeigen?
DANKE!
- Anmelden oder Registrieren um Kommentare zu schreiben
was du machen kannst ist
am 23.11.2007 - 16:24 Uhr
was du machen kannst ist einen view erstellen der folgende kriterien hat:
- Provide Block, "Nodes per Block" = 1, "List View"
- Fields: die felder die du auslagern willst
- Arguments "Node: ID" aus der auswahl wählen
- Argument Handling Code
$args[0] = arg(1);
» forward-media.de Drupal Entwicklung | Drupal Tutorials
sauber, vielen dank!
am 23.11.2007 - 17:16 Uhr
sauber, vielen dank!
was passiert durch
$args[0] = arg(1);
?
und vor allem: wie kann ich den block nich anzeigen lassen, wenn die node keine links besitzt?
arg() ist eine drupal core
am 23.11.2007 - 17:21 Uhr
arg()
ist eine drupal core Funktion (http://api.drupal.org/api/function/arg/5)Diese zerstückelt den drupal teil der URL und gibt einen array zurück
Beispiel
www.drupalseite.de/node/1
dann ist:
arg(0) = node
arg(1) = 1
$args[] ist ein views eigenes array.
$args[0] ist das erste Argument das man aus der Liste ausgewählt hat. In diesem Fall also die Node ID
$args[0] = arg(1);
bedeutet in diesem Beispiel nichts Anderes als:
Node ID = 1;
» forward-media.de Drupal Entwicklung | Drupal Tutorials
nochmal auf deine Frage
am 25.11.2007 - 17:36 Uhr
nochmal auf deine Frage einzugehen. Wenn der view leer ist wir er doch sowieso nicht angezeigt. Bzw, wenn du das Titelfeld ler lässt. Hast du das Problem gelöst?
» forward-media.de Drupal Entwicklung | Drupal Tutorials
lag grad kurz auf eis, habs
am 07.12.2007 - 17:15 Uhr
lag grad kurz auf eis, habs aber über block-views hinbekommen mit
$args[0] = arg(1);
und im block selbst liegt dann noch
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
return TRUE;
}
?>
works fine,
danke der nachfrage!!