eZJSCore – Ajax Event
Ajax Events braucht man eigentlich schon fast auf jeder Seite um eventuelle Cache-Probleme zu umgehen oder die Ladezeiten gering zu halten. Mir sind zwei Möglichkeiten in eZ Publish bekannt. Eine davon möchte ich dir kurz zeigen.
Variante 1 – über ein Modul
Über einen klassischen AJAX Befehl von jQuery und dann ein Modul einbauen, das den Content zurück liefert. Diese Variante werde ich dir nächste Woche erklären.
Variante 2 – mit eZ JS Core
eZ JS Core ist eine Standard Extension von eZ Publish.
Schritt 1 – Erweiterung aktivieren
Falls diese Erweiterung noch nicht aktiviert ist, bitte jetzt aktivieren und dann brav den Cache leeren. 🙂
Schritt 2 – Rechte vergeben
Deine Benutzer brauchen nun das Recht für den Aufruf, dazu ezjscore/call hinzufügen.
Schritt 3 – Template anlegen
Erstelle in deiner Erweiterung unter Design/templates das Verzeichnis „ezjsctemplate“ und darunter dein Template zum Beispiel: banner.tpl (Den Namen brauchen wir bei Schritt 4 gleich nochmal.)
Schritt 4 – Javascript einbinden
In irgendein Template folgenden Code einbinden, der wäre für den AJAX Call:
{ezscript_load(array( 'ezjsc::jqueryio') )} var nodeID={$node.node_ID} jQuery.ez( 'ezjsctemplate::banner', {nodeID:nodeID}, function(data){ $('#banner-container').html(data.content); })
Kurze Code-Erklärung:
Damit initialisiert eZ Publish die notwendige AJAX Aufrufe:
{ezscript_load(array( 'ezjsc::jqueryio') )}
Wenn man sich den jQuery Code anschaut, findet man „ezjsctemplate::banner“. banner steht für den Template-Namen bei Schritt 2. Die Variable data beinhaltet die Ausgabe von banner.tpl.
Was macht eZ JSCore hier? Einen einfachen AJAX Post-Befehl. Nicht mehr und nicht weniger. 😉
Das ganze hat einen Nachteil. Man hat im banner.tpl keine Variablen zur Verfügung, die ich auf der Client-Seite habe, d.h. ihr müsst alles neu auslesen oder übergeben. Das Ganze ginge auch mit den YUI – sprich den Yahoo Tools. Da ich aber ein jQuery Verfechter bin, gehe ich darauf jetzt mal nicht näher ein 😉
https://blog.silversolutions.de/2012/04/b2b-technologie/ezjscore-ajax-event/https://blog.silversolutions.de/wp-content/uploads/2018/12/ez_dummy.pnghttps://blog.silversolutions.de/wp-content/uploads/2018/12/ez_dummy-150x150.pngB2B.technologieEntwicklung,JavascriptAjax Events braucht man eigentlich schon fast auf jeder Seite um eventuelle Cache-Probleme zu umgehen oder die Ladezeiten gering zu halten. Mir sind zwei Möglichkeiten in eZ Publish bekannt. Eine davon möchte ich dir kurz zeigen. Variante 1 - über ein Modul Über einen klassischen AJAX Befehl von jQuery und dann...David HohlDavid Hohldho@silversolutions.deEditorDavid Hohl ist seit 1995 Entwickler und Projektleiter und bringt langjährige Erfahrung mit eZ Publish mit. Bei silver.solutions war David 2012 bis 2014 als Entwickler, Konzeptionen und Projektleiter für eZ Publish Projekte verantwortlich. Er hat das eZ-Publish-Blog ins Leben gerufen.silver.solutions