Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:jtl-shop:bootstrap

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
programmieren:jtl-shop:bootstrap [08/03/2020 09:22] – angelegt connyprogrammieren:jtl-shop:bootstrap [10/03/2020 11:04] (aktuell) – [Referenzen] conny
Zeile 8: Zeile 8:
 Die Funktionalität steckt zwar noch in den Kinderschuhen, ich möchte aber trotzdem schonmal zeigen, wie das funktioniert und welche Möglichkeiten man damit hat. Die Funktionalität steckt zwar noch in den Kinderschuhen, ich möchte aber trotzdem schonmal zeigen, wie das funktioniert und welche Möglichkeiten man damit hat.
 \\ \\
-=== Bootstrap-Datei und -Klasse anlegen === +==== Bootstrap-Datei und -Klasse anlegen ====
-\\+
 Damit der JTL-Shop die Bootstrap-Klasse inkludieren kann, muss zunächst eine PHP-Datei angelegt werden mit dem Pfad “/includes/plugins/{pluginId}/version/{version}/bootstrap.php”. In dieser Datei muss entweder die Klasse definiert werden, eine andere PHP-Datei mit der Klasse geladen werden oder ein Autoloader geladen werden, der die entsprechende Klasse bereitstellt. Für die Bootstrap-Klasse ist folgender Code notwendig:\\ Damit der JTL-Shop die Bootstrap-Klasse inkludieren kann, muss zunächst eine PHP-Datei angelegt werden mit dem Pfad “/includes/plugins/{pluginId}/version/{version}/bootstrap.php”. In dieser Datei muss entweder die Klasse definiert werden, eine andere PHP-Datei mit der Klasse geladen werden oder ein Autoloader geladen werden, der die entsprechende Klasse bereitstellt. Für die Bootstrap-Klasse ist folgender Code notwendig:\\
  
Zeile 44: Zeile 43:
 </code> </code>
  
-=== Hook- und Eventlistener registrieren ===+==== Hook- und Eventlistener registrieren ====
  
 +Zur Verständnis:\\
 +Dispatcher ist ein "Eventverteiler". Eingehende Ereignisse werden an die registrierten Stellen weitergeleitet.
 +Wie die Telefonistin, die am Schaltpult sitzt wie man es in alten Filmen sieht (im Englischen heisst dieser Job tatsächlich "phone dispatcher"). Sie nimmt den Anrufer entgegen, stellt fest ob der Empfänger existiert und stellt dann eine Verbindung zwischen den beiden her. Danach ist ihr Job erledigt. 
 Listener für Hooks und Events können innerhalb der Methode boot() registriert werden:\\ Listener für Hooks und Events können innerhalb der Methode boot() registriert werden:\\
 <code> <code>
Zeile 126: Zeile 128:
 {{ :programmieren:jtl-shop:jtl-bootstrap-notifications.png?400 |}} {{ :programmieren:jtl-shop:jtl-bootstrap-notifications.png?400 |}}
  
-=== Migrations-Scripte ===+==== Migrations-Scripte ====
  
 Wenn man der von JTL vorgesehenen Plugin-Struktur folgt, sollten Migrations-Scripte über die info.xml definiert werden. Dort kann für jede Version eine SQL-Datei angegeben werden, in der man SQL-Befehle zum Upgrade auf die nächste Version definieren kann. Wenn man der von JTL vorgesehenen Plugin-Struktur folgt, sollten Migrations-Scripte über die info.xml definiert werden. Dort kann für jede Version eine SQL-Datei angegeben werden, in der man SQL-Befehle zum Upgrade auf die nächste Version definieren kann.
Zeile 163: Zeile 165:
     ...     ...
 } }
- +</code> 
-=== Fazit ===+==== Fazit ====
  
 Natürlich ist man nicht auf die von mir genannten Bespiele eingeschränkt. Wenn die Methode boot() aufgerufen wird, ist bereits der JTL-Shop-Kontext geladen. Dadurch kann man auf die gesamte API des JTL-Shops zugreifen. Ich hoffe, dass JTL in Zukunft alle Inhalte aus der info.xml über die Bootstrap konfigurierbar machen wird. Ich halte es für den richtigen Weg, die info.xml Schritt für Schritt zu beschneiden und die Funktionalitäten in die Bootstrap-Klasse zu überführen. Ich bin gespannt, in welche Richtung JTL den Shop entwickeln wird. Natürlich ist man nicht auf die von mir genannten Bespiele eingeschränkt. Wenn die Methode boot() aufgerufen wird, ist bereits der JTL-Shop-Kontext geladen. Dadurch kann man auf die gesamte API des JTL-Shops zugreifen. Ich hoffe, dass JTL in Zukunft alle Inhalte aus der info.xml über die Bootstrap konfigurierbar machen wird. Ich halte es für den richtigen Weg, die info.xml Schritt für Schritt zu beschneiden und die Funktionalitäten in die Bootstrap-Klasse zu überführen. Ich bin gespannt, in welche Richtung JTL den Shop entwickeln wird.
  
-</code>+Quelle: https://mschop.de/blog/jtl-shop-plugins-mit-bootstrap-klasse-registrieren-ger/ 
 + 
 +==== Referenzen ==== 
 +Beispiel einer bootstrap.php in der Praxis\\ 
 +https://gitlab.com/jtl-software/jtl-shop/legacy-plugins/jtl_doubleoptin/-/blob/master/version/103/bootstrap.php
  
programmieren:jtl-shop (513 views) · Zuletzt geändert: 08/03/2020 09:22 von conny

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki