[gelöst] node.tpl.php anpassen, wie Variablen richtig einsetzen?
am 12.11.2009 - 13:47 Uhr in
Hallo,
ich würde gerne die Ausgabe meiner nodes anpassen, finde aber nicht die passenden Variablen, bzw. habe keine Ahnung wie ich diese richtig einbinden kann.
Der Teaser soll wie folgt ausgegeben werden:
<?php if (!$page): ?>
<div id="preview">
<span class="img"><a href="<?php print $node_url ?>" title="<?php print $title ?>">THUMBNAIL</a></span>
<span class="desc">
<strong><a href="<?php print $node_url ?>" title="<?php print $title ?> jetzt online spielen"><?php print $title ?></a></strong><br />
BESCHREIBUNG
</span>
<span class="facts">AUFRUFE: 123456<br />STIMMEN: 1234<br />Ø 2.5 von 5<br /> STERNE<br /><strong>» <a href="<?php print $node_url ?>" title="<?php print $title ?> spielen">jetzt spielen</a></strong></span>
</div>
<hr>
<?php endif; ?>Die bereits eingesetzten Variablen funktionieren, die fehlenden (Thumbnail, Beschreibung, Seitenaufrufe, Fivestar-Stimmenanzahl und -Wertung) würde ich gerne an den vorgesehenen Stellen ausgeben lassen. Das Devel-Modul habe ich bereits installiert und im Einsatz, aber damit komme ich nicht wirklich weiter. Wenn ich bspw. field_thumbnail einsetze erscheint nur "Array" in der Ausgabe, vermutlich weil das ein Array ist, aber davon verstehe ich leider nichts.
Wie kann ich es so hinbekommen, dass die Werte ausgegeben werden? Wenn ich §content einbinde werden ja bspw. die Beschreibung und das Thumbnail ausgegeben, es muss doch auch eine Möglichkeit geben diese einzeln auszugeben, um sie an den richtigen Stellen platzieren zu können.
Gruß,
Uwe
- Anmelden oder Registrieren um Kommentare zu schreiben

php
am 12.11.2009 - 14:10 Uhr
...Wenn ich bspw. field_thumbnail einsetze erscheint nur "Array" in der Ausgabe, vermutlich weil das ein Array ist, aber davon verstehe ich leider nichts.
Dann wird es Zeit (wenigstens die Basics von) PHP zu lernen.
Tipp: da Du schon devel installiert hast, schreib doch einfach mal
<?php dsm($field_thumbnail); ?>. Dann siehst Du die Struktur der Variablen und kannst damit weiterarbeiten.hth,
Stefan
--
sei nett zu Deinem Themer
Danke, das hatte ich auch
am 12.11.2009 - 14:40 Uhr
Danke, das hatte ich auch schon über dsm(get_defined_vars()); entdecken können, die Datei wird anscheinend über filepath abgerufen. Aber wie kann ich das nun in meiner tpl-Datei ausgeben?
Gruß,
Uwe
Ein filepath sollte Dir doch
am 12.11.2009 - 14:50 Uhr
Ein filepath sollte Dir doch reichen für ein
-Tag. Das ist doch einfaches HTML.
Beste Grüße
Werner
Es geht ja nicht um EINEN
am 12.11.2009 - 15:14 Uhr
Es geht ja nicht um EINEN filepath, sondern um den zum jeweiligen Inhalt passenden filepath aus dem thumbnail-array. Wie kann ich diesen ausgeben? Analog zu Titel und Co. wie im obigen Beispiel. Das ist die Frage.
Die Werte liegen in
am 12.11.2009 - 15:16 Uhr
Die Werte liegen in verschachtelten Arrays. Mit devel kannst du die Struktur sehen und z.B. filepath so oder ähnlich ausgeben:
<?php$node->field_bild[0]['filepath']
?>
Zur Ausgabe von Links kannst du dir die Funktionen url()
und l() ansehen
php
am 12.11.2009 - 15:22 Uhr
...sondern um den zum jeweiligen Inhalt passenden filepath aus dem thumbnail-array. Wie kann ich diesen ausgeben?
Wie bereits gesagt: lass Dir die Variable über
<?php dsm($field_thumbnail); ?>ausgeben, dann siehst Du deren Struktur.Auf Bsais dieser Informationen kannst Du dann den Wert ausgeben.
In etwa sollte das so aussehen:
<?php print $field_thumbnail[0]['view'] ?>.Und ich empfehle Dir nochmal eindringlichst, Dich mit den Basics von PHP vertraut zu machen.
Sonst kommst Du mit Drupal nicht weiter und stocherst weiter im Dunkel.
hth,
Stefan
--
sei nett zu Deinem Themer
Danke, das war genau das was
am 12.11.2009 - 15:47 Uhr
Danke, das war genau das was ich gesucht habe. Mit dem als Basis werde ich dann mal versuchen den Rest auch noch hinzubekommen.
Ich habe jetzt keine Zeit PHP zu lernen, aber in Zukunft werde ich mir das alles nochmal genauer anschauen. Bei meinem aktuellen Projekt werde ich einfach in bewährter Trial-And-Error-Manier weiterbasteln.
Gruß,
Uwe
NACHTRAG: Zu früh gefreut, unterhalb der content-Variable scheint es nichts zu geben, was einfach nur den Textkörper ausgeben kann. Oder suche ich an der falschen Stelle?
PHP
am 12.11.2009 - 16:03 Uhr
...Mit dem als Basis werde ich dann mal versuchen den Rest auch noch hinzubekommen. ...
Ich habe jetzt keine Zeit PHP zu lernen, ... Bei meinem aktuellen Projekt werde ich einfach in bewährter Trial-And-Error-Manier weiterbasteln.
Tolle Einstellung.
Ich seh schon die nächste ähnlich triviale Frage vor mir.
Stefan
--
sei nett zu Deinem Themer
Na wenn die Fragen so
am 13.11.2009 - 10:49 Uhr
Na wenn die Fragen so trivial sind fällt eine Antwort ja nicht schwer. Ich habe jetzt einfach keine Zeit mich groß mit PHP vertraut zu machen, zumal ich es ja nur für ein paar Datenbankabfragen brauche und keine ganze Seite damit selbst programmieren möchte. Wenn ich für alle Module und Eventualitäten erstmal Basics und Anleitungen lese - meist in englischer Sprache und nur selten zielführend für meine Anforderungen - dann programmiere ich noch in einem halben Jahr an der Seite. Wenn also jemand eine Antwort auf meine trivialen Fragen weiß, bin ich für jede Hilfe dankbar.
PS: Hat jemand einen Tipp wie ich an den Teaser-Text und die Seitenaufrufe komme?
NACHTRAG: So, habs selbst rausgefunden, der Code-Schnipsel für die Beschreibung (Textkörper) sieht wie folgt aus:
<?php print $node->content['body']['#value']; ?>Gruß,
Uwe