Einzelne Felder in Print.tpl.php mit PHP ausgeben.
Eingetragen von Brian (158)
am 16.04.2012 - 11:54 Uhr in
am 16.04.2012 - 11:54 Uhr in
Hallo,
ich habe mal eine Frage an die PHP Leute hier im Forum.
Wie kann ich einzelne Felder (oder auch gruppen) über die print.tpl.php mit php ausgeben.
Ich habe es mit <?php print render($content['field_name'])?>
versucht, bekomme es aber so nicht hin.
Kann mir jemand weiterhelfen ?
- Anmelden oder Registrieren um Kommentare zu schreiben
Lass dir doch mal mit
am 16.04.2012 - 14:38 Uhr
Lass dir doch mal mit
dsm($content);
den Inhalt von $content ausgeben, dann siehst du, was für Werte da drin stehen und wie du darauf zugreifen kannst. Damitdsm()
funktioniert, musst du allerdings das Devel-Modul installieren.Was meinst du genau mit "dsm"
am 16.04.2012 - 16:25 Uhr
Was meinst du genau mit "dsm" ausgeben ?
Installiere das Devel-Modul
am 16.04.2012 - 16:32 Uhr
Installiere das Devel-Modul und rufe in deiner print.tpl.php
dsm($content);
auf.Passiert leider garnichts
am 16.04.2012 - 17:25 Uhr
Passiert leider garnichts wenn ich das versuche... (reg. cache geleert) ?!?
...kann mir da keiner einen
am 17.04.2012 - 09:37 Uhr
...kann mir da keiner einen weiteren Tip geben ?
Warum kann ich den gesammten content mit
<?php print $print['content']; ?>
ausgeben,aber nicht den Inhalt einzelner Felder. ???
<?php render($content['field_name']); ?>
dann ruf mal folgendes in
am 17.04.2012 - 11:36 Uhr
dann ruf mal folgendes in deinem Template auf:
<?php drupal_set_message('<pre>' . print_r($content, 1) . '</pre>'); ?>
Damit dürftest du sehen, was in der Variable steht.
Variablen
am 17.04.2012 - 11:55 Uhr
$content
ist in diesem Template nicht definiert. Aus diesem Grund kann bei<?php print_r($content) ?>
auch nichts ausgegeben werden (ausser der Fehlermeldung "Undefined variable $content in ..." bei halbwegs vernünftig eingestelltem Error-Reporting).Um zu sehen, welche Variablen im Template zur Verfügung stehen,
* installiere Dir [do:devel Devel] (falls nicht bereits geschehen)
* füge ins Template
<?php dpm(get_defined_variables()); ?>
einSo bekommst Du eine Liste sämtlicher im Template verfügbarer Variablen und siehts auch gleich deren Struktur und Inhalt.
Danke erstmal für eure
am 17.04.2012 - 13:42 Uhr
Danke erstmal für eure Antworten.
Wenn ich in die print.tpl.php folgendes einfüge...
<?php drupal_set_message('<pre>' . print_r($content, 1) . '</pre>'); ?>
.. passiert beim aufrufen rein garnichts.
Wenn ich es mit
<?php dpm(get_defined_variables()); ?>
versuche, bekomme icheine Felhlermeldung.
Fatal error: Call to undefined function get_defined_variables() in C:\Users\...\print.tpl.php on line 38
Devel ist installiert und das Modul ist auch aktiviert.
Dann mach mal das hier: <?php
am 17.04.2012 - 13:55 Uhr
Dann mach mal das hier:
<?php dpm(get_defined_vars()); ?>
Funktion
am 17.04.2012 - 14:02 Uhr
Äh ja, sorry.
get_defined_vars()
natürlich.PS: das hätte eine schnelle Suche nach "php get_defined_variables" auch korrigieren können. Wollte ich nur mal anmerken ...
Ok, geht schon mal. Mehr oder
am 17.04.2012 - 14:34 Uhr
Ok, geht schon mal. Mehr oder weniger.
Drupal gibt mir die info auf meiner Startseite aus und nicht unter
http://localhost.projekt:8082/print/node...
Das konnte ich finden. Und das müsste ich ja aufrufen.... oder ?
variables (Array, 39 elements) => print (Array, 22 elements) => node (Object) stdClass => field_name (Array, 1 element) => und (Array, 1 element) => 0 (Array, 5 elements) => value (String, xxx characters ) xxx
Das wird dir auf der
am 17.04.2012 - 14:56 Uhr
Das wird dir auf der Startseite ausgegeben, weil du das dpm im Template aufrufst. An der Stelle sind schon alle Nachrichten für den aktuellen Seitenaufruf verarbeitet, deswegen siehst du da immer die Nachrichten des vorherigen Seitenaufrufs.
Eigentlich müsstest du die Felder mit den einzelnen Variablen-Inhalten in der dpm-Ausgabe doch öffnen können, oder? Dann schau doch mal, ob du da drin das Feld findest, das du brauchst.
habe ich doch
am 17.04.2012 - 15:07 Uhr
habe ich doch hier...?
variables (Array, 39 elements) => print (Array, 22 elements) => node (Object) stdClass => field_name (Array, 1 element) => und (Array, 1 element) => 0 (Array, 5 elements) => value (String, xxx characters ) xxx
nur was mache ich damit jetzt?
Gib uns bitte mal einen
am 17.04.2012 - 15:20 Uhr
Gib uns bitte mal einen Screenshot von der dpm-Ausgabe.