2016-12-18 3 views
0

Hinweis: Indirekte Änderung von überladenen Eigenschaft ControllerProductProduct :: $ data hat keine Auswirkung in /home/user/public_html/example.com/catalog/controller/product/product.php on line 57Was verursacht Hinweis: Indirekte Änderung der überladenen Eigenschaft?

Linie 57: $this->data['breadcrumbs'][] = array(

Entfernen $this von $this->data beseitigt den Fehler.

Ich verstehe nicht vollständig, warum der Code so funktioniert, wie er sollte, wenn das Element aus dem Controller genommen wird?

+0

So erstellen Sie ein minimales, vollständiges und überprüfbares Beispiel http://stackoverflow.com/help/mcve –

Antwort

0

Welche Version verwenden Sie?

PRE v2.0: In diesem Fall die Variable ändert nicht „den Code funktioniert, wie es sollte *“ und Sie werden Ihre Paniermehl fehlen. Sie sollten die Variable nicht ändern - sie sollte als $this->data belassen werden. Sie müssen die Eigenschaft zuerst folgendermaßen initialisieren:

Danach können Sie das Array ändern. Der Produktcontroller sollte diese Zeile bereits haben, also nehme ich an, dass Sie den Kerncode geändert haben.

POST v2.0 +: Die Variable sollte in der Tat zu $data['breadcrumbs'] und keine Klasseneigenschaft. Es sieht so aus, als ob jemand den Kerncode geändert und diesen Fehler eingeführt hat.

Versuchen Sie nicht, den Kerncode zu ändern, wenn Sie nicht sicher sind, dass Sie wissen, was Sie tun.

+0

Vielen Dank für die Erklärung. Eigentlich sind die Paniermehl noch da. Seltsam, wenn sie nicht sein sollten! Und ja, ich modifiziere den Kerncode, es ist keine Live-Seite. Ich versuche nur zu lernen. :) – necrodeus

+0

Wenn Sie über das Anpassen von Opencart erfahren möchten, wäre mein Rat, vQmod zu lernen. Es ermöglicht Ihnen, nicht permanente Änderungen an verschiedenen Bits vorzunehmen und erleichtert das Debugging, wenn Sie unweigerlich auf Erweiterungskonflikte stoßen. – billynoah

Verwandte Themen