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/wp-content/uploads/2018/12/ez_dummy.pnghttps://blog.silversolutions.de/wp-content/uploads/2018/12/ez_dummy-150x150.pngDavid HohlB2B.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...Die e-Commerce B2B Experten bloggen über Händler-Shops, ERP, PIM und das integrierte CMS eZ Publish