Migration von Smarty 4 auf 5¶
In Shop 5.6.0 wurde die Template-Engine Smarty auf Version 5.4 aktualisiert. Dieses Upgrade hat umfangreiche Maßnahmen zur Refaktorisierung am Core des JTL-Shops bedingt. Um den Umstieg für Sie so gefahrlos und sicher wie möglich zu gestalten, wurde in Shop 5.6.0 eine PHP-Konstante SMARTY_LEGACY_MODE eingeführt, welche mit dem Standardwert true dafür sorgt, dass intern weiterhin die Version 4 von Smarty genutzt wird.
Wenn Sie Ihre Plugins und Templates auf Kompatibilität mit der aktuellsten Smarty-Version testen wollen, dann setzen Sie die Konstante SMARTY_LEGACY_MODE auf false in der Datei includes/config.JTL-Shop.ini.php mit:
const SMARTY_LEGACY_MODE = false;
Template-Anpassungen¶
Die meisten Templates sollten mit wenigen Anpassungen weiterhin funktionieren. Die häufigsten Änderungen beschränken sich auf folgende Schritte:
- In PHP definierte Funktionen können in Smarty-Templates nur noch durch Registrierung nutzbar gemacht werden. Die durch den JTL-Shop Core bereits registrierten nativen PHP-Funktionen sind durch die Konstante
SECURE_PHP_FUNCTIONSdefiniert. - Der Modifikator
implodewurde als veraltet eingestuft und soll durchjoinersetzt werden. - Lesen Sie außerdem den offiziellen Upgrade-Guide der Smarty-Engine um über weitere Stolpersteine informiert zu sein.
Plugin-Anpassungen¶
Ihre Plugins sollten weiterhin wie bisher funktionieren. Beachten Sie nur die Anmerkungen unter Template-Anpassungen!