mude_lazyloading

mude_lazyloading

komp. Versionen: keine Versionen zugeordnet
 
OXID Editionen: CE
 
Verschlüsselung: keine
 
Lizenz:
 
Zertifiziert: nein
Ermöglicht Lazy Loading für Kategorien
 
kostenfrei
Mail-Adresse:
info|at|musterdenker.de

Der OXID eShop hat einen wirklich coolen Lazy Loading-Mechanismus in oxBase class implementiert. Es wird hauptsächlich verwendet, um Speicherplatz zu sparen und überladene Objekte zu vermeiden. Normalerweise wird dies nicht für "kleine" Klassen wie z.B. oxvendor oxcategory benötigt. Darum ist es automatisch in oxBase class deaktiviert:

$ _blUseLazyLoading = false;

Aber manchmal ist es sinnvoll, Lazy Loading zu aktivieren, bspw. bei den Kategorien. Wenn eine Kategorieliste (oxCategoryList) irgendwo in den Shop geladen wird, wird nur eine Auswahl der Datenfelder in dem einzelnen oxcategorxy Objekt geladen. Dies kann zu einigen Problemen führen, wenn Sie auf die eigenen Felder zugreifen möchten, z.B. den oxthumb der Kategorie innerhalb einer Kategorienliste. 

Ich wollte das Vorschaubild in einer Kategorienliste zeigen, konnte aber nicht auf das Feld zugreifen, weil es nicht standardmäßig geladen wird. Die einfachste und eleganteste Lösung ist Lazy Loading für die Kategorien zu aktivieren. Dadurch wird es möglich, auf alle Bereiche der oxcategory zuzugreifen!

Es gibt einen leichten Nachteil dieser Lösung: Jeder (erste) Zugang zu einem nicht geladenen Feld eines jeden Objektes löst eine SQL-Abfrage aus. Der Zugriff auf eine riesige Menge an nicht geladenen Feldern einer langen Kategorienliste könnte die Leistung Ihres Shops beeinträchtigen... Ich habe ein kleines Modul zur Aktivierung von Lazy Loading beigefügt. Packen Sie Einfach die Datei in Ihren Modul-Ordner und fügen Sie eine Zeile in den Admin-Modul-Einträgen hinzu, was wie folgt aussieht: "oxcategory => mude_lazyloading" für jede Klasse, bei der Sie lazy loading aktivieren möchten.

Bewertungen


Einen Kommentar schreiben.
Es liegen keine Kommentare zu diesem Artikel vor.

Hersteller Infos