PHP Fehlermeldung bei selbst erstellten Theme "Undefined index: de in include()"
am 03.09.2013 - 21:26 Uhr in
Hallo Liebe Drupal Community,
ich bin mit einem neuen Projekt auf Drupal 7 gewechselt. Nun bin ich beim Themen auf ein Problem gestoßen welches mich die letzten 2 Tage zu Verzweiflung gebracht hat.
Ich habe mir des Modul Content Temples installiert um die PHP-Strings zum Themen im HTML herauszufinden.
Konkret geht es um diesen Teil:
<?php print $node->field_kurzbeschreibung[$node->language][0]['safe_value']; ?>
Wenn ich dieses in meinen "node--article.tpl.php“ einfüge bekomme ich diese Fehlermeldung:
Notice: Undefined index: de in include() (Zeile 4 von /Applications/XAMPP/xamppfiles/htdocs/montessori-ffb/sites/all/themes/montessori_ffb/node--article.tpl.php).
Leider ist mir es nicht gelungen das Problem zu lösen :-( Danke im Voraus!
Gruß Holger
- Anmelden oder Registrieren um Kommentare zu schreiben

Verwende das Devel
am 03.09.2013 - 21:47 Uhr
Verwende das Devel Modul.
Damit kann man aus Code heraus Variablen ansehen. Bspw.:
<?phpdsm($node);
dsm($node->field_kurzbeschreibung);
?>
Danke für deinen Tipp! Ich
am 03.09.2013 - 21:58 Uhr
Danke für deinen Tipp! Ich habe das Devel Modul schon mal installiert. Leider hat mir das meine Seite extrem zerschossen.
Ich habe deinen Vorschlag mal bei mir eingefügt. Leider habe ich auch hier eine Fehlermeldung:
Fatal error: Call to undefined function dsm() in /Applications/XAMPP/xamppfiles/htdocs/montessori-ffb/sites/all/themes/montessori_ffb/node--article.tpl.php on line 5Man muss Module nach dem
am 03.09.2013 - 22:35 Uhr
Man muss Module nach dem Installieren auch aktivieren.
Schreib das mal so! <?php if
am 03.09.2013 - 22:41 Uhr
Schreib das mal so!
<?php
if ($node->field_kurzbeschreibung) {
print $node->field_kurzbeschreibung[$node->language][0]['safe_value'];
}
?>
oder
<?php
if (!empty($node->field_kurzbeschreibung[$node->language][0]['safe_value'])) {
print $node->field_kurzbeschreibung[$node->language][0]['safe_value'];
}
?>
Du musst halt vorher abfragen ob dieses Feld/Value überhaupt existiert. Alternativ. müsste auch
issetgehen ... PHP möchte das so!Leider bin ich erste jetzt
am 08.09.2013 - 20:56 Uhr
Leider bin ich erste jetzt dazu gekommen die vorgeschlagenen Varianten auszuprobieren.
Leider besteht auch hier das gleiche Ergebnis. Die Fehlermeldung! Bei Variante zwei passiert einfach gar nichts.
Ich glaube es wurde das Problem auch noch nicht verstanden. Es wird hier wohl der Variableninhalt de gesucht den es nicht zu geben scheint.
Manche PHP-Strings funktionieren auch einwandfrei wie z.B.:
<?phpprint $title
?>
$node->field_kurzbeschreibungoder$node->field_nachrichtwiederum nicht. Hier wird die Fehlermeldung ausgegeben. Wenn ich einfach nur<?phpprint $field_kurzbeschreibung
?>
Arrayausgegeben.Ich bin kurz davor wieder auf Drupal 6 zu gehen. Ich bekomme das Problem nicht in den Griff :-(
Und warum verwendest Du Devel
am 08.09.2013 - 21:45 Uhr
Und warum verwendest Du Devel nicht um Dir die Struktur zeigen zu lassen? Die Datenstruktur bei den Feldern hat sich gegenüber Drupal 6 deutlich verändert. Damit wirst Du Dich wohl oder übel anfreunden müssen.
Beste Grüße
Werner
print
am 09.09.2013 - 05:33 Uhr
print $node->field_kurzbeschreibung[$node->language][0]['safe_value'];das gibts in drupal 7nicht mehr!
Ok, und was soll ich mit
am 09.09.2013 - 19:14 Uhr
Ok, und was soll ich mit dieser Information anfangen?
Ich habe das Devel Modul installiert. Es zeigt mir auch viel an aber anscheint nicht das Wesentliche. Zumindest nicht das was ich brauche. Was sollte es denn anzeigen?
Das Devel-Modul zeigt Dir
am 09.09.2013 - 19:49 Uhr
Das Devel-Modul zeigt Dir neben Ansicht und Bearbeiten einen weiteren Tab. Dort kannst Du einen Node in seiner Struktur erforschen, indem Du Dich durch die Ebenen klickst. Dabei siehst Du genau, ob es Arrays oder Objekte sind und wie die Keys heißen. Das sollte dann doch ausreichen, um die für die Ausgabe notwendige Angaben zu sehen, PHP-Kenntnisse vorausgesetzt.
Beste Grüße
Werner
Also es scheint mir so als
am 09.09.2013 - 19:50 Uhr
Also es scheint mir so als würde es bei allen Feldern die mit dem Modul Field erstellt worden sind nicht funktionieren.
Also:
<?phpprint $title
?>
<?phpprint $node->field_kurzbeschreibung[$node->language][0]['safe_value']
?>
Du hast Dir immer noch nicht
am 09.09.2013 - 19:55 Uhr
Du hast Dir immer noch nicht die Struktur angesehen!!! Dann hätte Dir nämlich auffallen müssen, daß es inzwischen nur 'value' und nicht mehr 'save_value' heißt. Titel ist kein Feld, sonder ein Attribute des Nodes und wird anders behandelt. Man darf aber von Dir auch erwarten, daß Du Dich auch selbst bemühst und nicht nur dumm rumfragst.
Beste Grüße
Werner
Hallo Werner, genau das habe
am 09.09.2013 - 19:59 Uhr
Hallo Werner,
genau das habe ich auch in der Beschreibung gelesen nur seine es bei mir aus irgendeinem Grund nicht zu funktionieren. Es werde die ganze Sache wohl mal neu aufsetzen. Durch das ganze herum Probieren scheint irgendwas kaputt gegangen zu sein.
Oh man, jetzt sitz ich schon fast 4 Tage an diesem Problem. Bei einem Anderen Projekt (Drupal 6) habe ich einfach das Modul Content Temples installiert und mir die PHP Sachen herausgezogen. Wie z.B.:
<?php print $node->field_links[0]['view']?>oder<?php print $node->field_bild[0]['view'] ?>funktioniert einwandfrei.Dann erstelle dir doch
am 09.09.2013 - 20:07 Uhr
Dann erstelle dir doch einfach ein Template für den Nodetype
node--deinnodetype.tpl.php
da kopierst du
<?php
dpm($node);
?>
rein und Devel zeigt dir dann das gesamte Node-Objekt (mit allen Feldern) an und schon weißt du wie du die Felder/Values ansprechen musst.
Es wurde mir vom Modul
am 09.09.2013 - 20:10 Uhr
Es wurde mir vom Modul Content Temples immer so angezeigt:
Und? So wie es dir angezeigt
am 09.09.2013 - 20:16 Uhr
Und? So wie es dir angezeigt wird, scheint es ja nicht zu funktionieren also nimm Devel und schau dir die korrekte Schreibweise der Feldausgabe an.
So nun habe ich das Davel
am 09.09.2013 - 21:59 Uhr
So nun habe ich das Davel Modul und den Themer installiert. So wirklich schlau werde ich daraus noch nicht aber vielleicht kann mir es ja jemand erklären :-)
Ich habe ein Bildschirmfoto im Anhang.
Welche Infos kann ich hier wie verwenden?
<?phpprint
am 09.09.2013 - 22:05 Uhr
<?phpprint $node->field_kurzbeschreibung['und']['0']['safe_value'];
?>
TOP! TOP! TOP! Hammer,
am 09.09.2013 - 22:10 Uhr
TOP! TOP! TOP! Hammer, Danke!!!!!
Habe jetzt auch verstanden wie das System funktioniert echt klasse.