Problem: warning: array_key_exists() expects parameter 2 to be array, null given in ...
Eingetragen von Alex v. B. (54)
am 30.01.2011 - 00:00 Uhr in
am 30.01.2011 - 00:00 Uhr in
Hallo Drupaler,
nach der Installation und dem Konfigurieren des BookMadeSimple Moduls (http://drupal.org/project/BookMadeSimple) erscheint auf der Startseite nun folgende Warnmeldung fünffach:
warning: array_key_exists() expects parameter 2 to be array, null given in ...\sites\all\modules\BookMadeSimple\book_made_simple.module on line 650.
Hier Line 647 bis 657 [ Line 650 = if (array_key_exists("book_made_simple",$node->links)) ]:
<?php
...
$position = variable_get("book_made_simple_child_list_style_position","FIRST");
if ($position == "FIRST")
{
if (array_key_exists("book_made_simple",$node->links))
{
$a = $node->links["book_made_simple"];
unset($node->links["book_made_simple"]);
array_unshift($node->links,$a);
}
}
break;
...
?>
Wie kann ich nun diese Warnmeldung auf der Startseite entfernen?
Angemerkt sei noch, dass ich Anfänger bin. Ich hoffe, dass mir die oft angepriesene Drupal-Community helfen kann.
Herzlich Grüße
Alex
- Anmelden oder Registrieren um Kommentare zu schreiben
Welche Xampp-Version
am 30.01.2011 - 10:32 Uhr
Welche Xampp-Version verwendest du? Also ich verwende noch XAMPPlite Version 1.7.1, weil in den neueren Versionen PHP5.3 vorhanden ist, welche unerwartete Fehler abgesehen von diesem hier, hervorrufen kann.
Zum Code, es scheint so, dass $node->links nicht immer eine Array ist bzw. nicht gesetzt ist. Deshalb sollte man einfach vorher überprüfen, ob da was ist.
<?php
if (!empty($node->links)) {
$position = variable_get("book_made_simple_child_list_style_position","FIRST");
if ($position == "FIRST")
{
if (array_key_exists("book_made_simple",$node->links))
{
$a = $node->links["book_made_simple"];
unset($node->links["book_made_simple"]);
array_unshift($node->links,$a);
}
}
break;
}
?>
Vielen Dank für die Antwort!
am 30.01.2011 - 17:57 Uhr
Vielen Dank für die Antwort! Ich verwende XAMPP 1.7.3.
Wenn ich Deinen Code übernehmen, bekomme ich folgendes zurück:
Parse error: syntax error, unexpected $end in ...\sites\all\modules\BookMadeSimple\book_made_simple.module on line 704
In Zeile 704 steht in der Datei wiederum nichts. Was muss ich tun?
Also auf die richtige
am 30.01.2011 - 18:29 Uhr
Also auf die richtige Anwendung an der richtigen Stelle, bist du schon selbst verantwortlich. Meine Änderung war schließlich nur
if (!empty($node->links)) {...}
Oder du wartest bis der Maintainer den Fehler behebt.Bevor du im Modul herum
am 30.01.2011 - 18:52 Uhr
Bevor du im Modul herum änderst, versuch lieber erstmal eine ältere XAMPP-Version (z. B. XAMPP 1.7.1), weil bei 1.7.3 PHP 5.3.x drin ist und damit kommen viele Module nicht klar.
Ich habe jetzt eine ältere
am 30.01.2011 - 20:44 Uhr
Ich habe jetzt eine ältere Version des BookMadeSimple Moduls (6.x-2.4) ausprobiert. Bei der Version taucht das Problem nicht auf. Ich werde diese Version daher einfach vorerst nutzen.