Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal Error: Call to a member function pageClose() on null #3

Closed
TumTum opened this issue Dec 21, 2020 · 4 comments
Closed

Fatal Error: Call to a member function pageClose() on null #3

TumTum opened this issue Dec 21, 2020 · 4 comments
Assignees

Comments

@TumTum
Copy link
Contributor

TumTum commented Dec 21, 2020

Wenn das Module endereco-oxid6-client aktive ist und eine 404 Seite im OXID Shop aufruft.
Kommt in den Logs ein fatal Error.
Wird ausgelöst durch application/views/agent-include.tpl weil eine 404 Seite keine Controller ist $oView->getClassName() daher ein null zurück gibt.

Generell ist es nicht gut in der OXID welt mit oxid_include_widget zu arbeiten.
Vielleicht finden wir einen gemeinsamen Weg.
Was wollt ihr denn machen ?

@iljamobilemojo iljamobilemojo self-assigned this Jan 11, 2021
@iljamobilemojo
Copy link
Collaborator

@TumTum

Was wollt ihr denn machen ?

Ich würde als Quickfix das Einbinden des Widgets auf 404-Seite deaktivieren.

In etwa so: afa3fd0

Damit wird das 500 Fehler gelöst. Offensichtliche Probleme fallen mir nicht auf. Ausgegrenzt werden Seiten mit dem "oxUBase" Controller, diese würden aber vermutlich den Endereco Service sowieso nicht brauchen. Wäre für Dich die Lösung ok?

Generell ist es nicht gut in der OXID welt mit oxid_include_widget zu arbeiten.

Wieso? Welche Probleme entstehen dadurch für euch?

Vielleicht finden wir einen gemeinsamen Weg.

Gerne. Ich habe einen Quickfix entwickelt. Falls Du eine bessere Idee hättest, her damit. Ich würde noch bis mitte der Woche testen/warten und dann den Patch Release mit dem Fix rausbringen, es sei denn etwas kommt noch dazu.

@TumTum
Copy link
Contributor Author

TumTum commented Jan 11, 2021

Naja diese Widgets sind ein mege Perfomence Overhead, weil wenn man sich den Code genau anschaut, start er den Shop Prozess noch mal von "ganz" neu. Diese Widget wurden damals entwickelt. Um Full-HTML Cache doch dynamisch anzuzeigen. Sprich 80% war fester HTML Code aus dem Cache und der Varnisch Server hat diese Widget auf gerufen um den Dynamischen Teil heraus zu bekommen. (Beispiel: der Warenkorb ist Dynamisch geblieben die Produkt-Listen Seite war fester HTML-Code. Seite wurde schneller!)
Aber in euerem Fall spuckt das das Widget kein HTML code aus ihr nutzt es für irgendwelche Konfigationen zu laden oder so. Ganz habe ich es nicht verstanden. Außer das ihr PHP Programmiert wollt als alles über Smarty zu machen. Was total in Ordnung ist.

Jedoch würde ich euch eine Alternative Methode empfehlen: Smarty Plugin zu nutzen. Dadurch könnt ihr eueren eigenen Code schreiben [{enderecoconfig oView=$oView}]
und ihr seit dieses Widget Getöns los und habt direkt PHP Code im fluss.

@iljamobilemojo
Copy link
Collaborator

Interessante Idee, danke! Ich nehme das auf die Agenda und bespreche es mit Robert. Ich würde auf jedem Fall Smarty Plugin vs. Widget auf Perforance testen. Für dieses Thema habe ich ein Issue aufgemacht: #4

Wir nutzen aktuell die Widgets aus drei Gründen.

  1. Historisch. Mein Vorgänger hat es mit Widget entwickelt, ich habe es so übernommen.
  2. Unterschiedliche Konfigs je nach Theme. In den älteren Versionen müsste man mehr in den Konfigs machen, um das Modul zum Laufen zu bringen. Daher gibt es jetzt 4 unterschiedliche Konfigdateien und die Möglichkeit eine eigene Datei vorzuschlagen.
  3. Dynamischer Content. Sowohl der JS-Code mit Konfiguration, als auch die CSS Styles mit eigenen Farben werden anhang der Einstellungen dynamisch generiert.

@iljamobilemojo
Copy link
Collaborator

@TumTum Wäre die Lösung für den 500 Fehler auf einer 404-Seite für dich OK?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants