Hallo liebe Contao-Community!
Ich portiere gerade einen Webshop nach Contao (+Isotope). Nun gibt es dort einen Seitenbaum mit insg. etwa 1000 verschachtelten Seiten bis Level 5. Dabei erzeugt das Bordmittel-Navigationsmenü starke Performanceeinbrüche (4-10s Pageload) (habe es mit xdebug & cachegrind auf eine Rekursion innerhalb des Contao-Cores einschränken können, in dem der Seitenbaum erzeugt wird).
Da ich den Contao-Core keinesfalls anpassen möchte war mein Gedanke nun selbst eine Ajax-Navigation zu bauen, bei der ein Seitenbaum-Inhalt erst beim Klick per Ajax geladen wird, sodass die gesamte Struktur beim Seitenaufruf nicht angezeigt werden muss, lediglich das oberste Level sowie die aktuell geöffnete Seitenverschachtelung.
Da ich in Contao schon etwas eingerostet bin (habe vor Jahren für 3.x einige Extension entwickelt) wollte ich fragen wie ich das am besten bewerkstellige. Ich habe ein/zwei Erweiterungen gefunden die "ajax" und "menü" im Namen haben, die Verwendung dieser Erweiterungen hat sich mir aber nicht im geringsten erschlossen..
Q:
1. Es gibt eine Erweiterung für Ajax-Anfragen (generell), sollte ich diese installieren um mir die Plugin-Entwicklung zu vereinfachen, diese also als Schnittstelle zw. Contao und meiner eigenen Extension verwenden?
2. Hat jemand eine Empfehlung für bereits bestehende Erweiterungen die das leisten können? Ich kann mir nur schwer vorstellen dass diese Anforderung so exotisch ist. Ich habe "ajax menu" aber nicht verstanden und auch keine ordentliche Doku dazu gefunden.
PS:
Ich habe bereits serverseitig Performanceoptimierungen vorgenommen die das Problem nicht gelöst haben:
- OPcache
- PHP 7.2
- SQL-Cache
Ein deaktivieren des betroffenen Navigationsmenü's löst das Problem, weshalb ich mir der Ursache so sicher bin.
Vielen Dank für die Unterstützung!
Lesezeichen