Fehlermeldungen: Notice: Undefined index: de in include() (Zeile...
Eingetragen von willi1 (246)
am 27.03.2011 - 15:11 Uhr in
am 27.03.2011 - 15:11 Uhr in
Hej Hej,
ich bekomme des öfteren solche Fehlermeldungen:
Notice: Undefined index: de in include() (Zeile 8 von /var/www/xxx/html/xxx/sites/all/themes/xxx/templates/node--bu.tpl.php).
In der Zeile 8 steht:
<div class="untertitel"><?php print $node->field_untertitel['de'][0]['safe_value'] ?></div>
habe schon das ['de'] und die [0] entfernt und von safe value auf value geändert aber leider ohne Erfolg.
Mit devel habe ich schon die variablen angeguckt. Das sieht alles gut aus, oder ich kenne mich zu wenig aus.
hat vielleicht jemand einen Lösungsansatz für mich ich weiß nicht wo ich noch gucken soll
lg
willi
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du diese Fehlermeldung
am 27.03.2011 - 19:34 Uhr
Wenn du diese Fehlermeldung bekommst, bedeutet dies, dass der Index - in deinem Falle das "de" nicht im Array enthalten ist.
Das Vorhandensen von Variablen bzw. entsprechenden Array Index"en" kannst du mit der Funktion isset() prüfen.
Beispielhaft für dein Problem würde dies wie folgt ausschauen:
<?php if(isset($node->field_untertitel['de'])): ?>
<div class="untertitel"><?php print $node->field_untertitel['de'][0]['safe_value'] ?></div>
<?php endif; ?>
Du könntest dies natürlich auch auf andere Variablen bzw. auf das Feld selbst ausweiten. Dazu müsste man dann halt schauen, in welcher Form das Feld verfügbar ist.
SteffenR
habe den code ersetzt
am 27.03.2011 - 20:14 Uhr
Danke Dir für die Hilfe,
habe den code
<?php if(isset($node->field_untertitel['de'])): ?>
<div class="untertitel"><?php print $node->field_untertitel['de'][0]['safe_value'] ?></div>
<?php endif; ?>
jetzt ersetzt war das richtig so? es sieht zumindest so aus, dass der Fehler damit behoben ist. Ich weiß zwar nicht genau warum, also bedeutet das für mich, dass ich mich wohl doch ernsthaft mit PHP auseindersetzen sollte und google bemühen werde um zu lernen ;-)
Ich habe das auch schon bei anderen Variablen gehabt, kann ich das also auch bei anderen variablen anwenden?
Binde ich die variablen bei drupal 7 generell so ein?
lg
willi
angezeigt wird (Array, 0 elements) was mache ich bloß falsch?
am 28.03.2011 - 17:14 Uhr
Hej Hej ,
ich bins nochmal. Ich habe jetzt nochmal im devel module nachgesehen und da steht bei den Feldern die immer wieder solche Fehlermeldungen anzeigen "(Array, 0 elements)"
Meine Frage wie kann ich das denn beinflussen ob ein Array angelegt wird oder nicht. Ich habe ja auch schon andere Felder angelegt bei denen dieses Problem nicht besteht, und im devel Modul wird das dann auch so angezeigt "(Array, 1 element) "
Was habe ich dann beim anlegen der Felder verkehrt gemacht?
Über einen weiteren Tipp würde ich mich sehr freuen.
lg
willi
Die Ausgabe von Devel
am 28.03.2011 - 20:34 Uhr
Die Ausgabe von Devel beschreibt doch schon dein Problem. Das Feld ist nicht vorhanden, wenn die Ausgabe 0 Elements zeigt.
Für genauere Hilfe müsste man deine Inhaltstypen kennen bzw. die angelegten Felder und wie du auf diese zugreifst ( sprich eigene Node-Type Templates / überschreibst du Sachen über die template.php etc.. ) - alles Andere würde derzeit eher Vermutungen hinauslaufen.
SteffenR