Um einen fehlerfreien Betrieb des Shops zu gewährleisten müssen Plugin-Hersteller die eigenen Template-Dateien auf die korrekte Art und Weise registrieren. Da dies in der Vergangenheit nicht gut dokumentiert war, gibt es leider immer noch sehr viele Plugins, die hier Fehler machen. Dadurch kann es passieren, dass im Shop Fehlermeldungen à la "directory '...' not allowed by security setting" auftreten.


In der Fehlermeldung wird auch der Pfad zu der Template-Datei erwähnt, bei dessen Ausführung der Fehler auftrat. In der Regel gehört diese Datei zu einem bestimmten Plugin. Wer nun denkt, dass dieses Plugin auch der eigentliche Verursacher ist, der ist leider auf dem Holzweg. Grund dafür ist die Vererbungsstruktur sowie die Möglichkeit ganze Template-Dateien oder einzelne Blöcke überschreiben zu können. Wer oder was genau den Fehler auslöst kann hier nicht abgelesen werden.


Smarty Security Fehler sind daher auch sehr schwer zu prüfen. Der Aufwand steigt mit jedem zusätzlichen Plugin. Hinzu kommt, dass das Leeren des Caches und veränderliche Bedingungen, die Reproduzierbarkeit des Fehlers verändern. Es fühlt sich dann oft so an, als würde der Fehler nur hin und wieder oder zufällig auftreten. 


Patrick Stahl von Shopware hat in diesem Forum-Post sehr gut und ausführlich beschrieben, welche Fehler Plugin-Hersteller machen (können) und warum sich solche Fehler oft "zufällig" anfühlen: https://forum.shopware.com/discussion/49501/plugin-uncaught-smartyexception-directory-not-allowed-by-security-setting#Comment_209476


Weitere allgemeine Informationen zur Smarty Security ist in der Shopware Dokumentation zu finden: https://developers.shopware.com/developers-guide/shopware-5-upgrade-guide-for-developers/#smarty-0


Bleibt noch die Frage offen, wie das eigentliche Problem identifiziert und gelöst werden kann. Für uns hat es sich bewährt jedes Plugin zu prüfen und hier zu schauen, ob und wie die Template-Dateien registriert werden. Die im Forumsbeitrag erwähnten Fehler lassen sich im Quellcode eines Plugins gut erkennen. Darüber kann eine Eingrenzung für eine genauere Analyse vorgenommen werden.