Ich will dem Nutzer anbieten sein Theme zu kompilieren, sobald er die Konfiguration meines Plugins speichert. Oder nicht einmal anbieten, einfach kompilieren. Ist das möglich?
Das Event zum Speichern ist mir bekannt: Shopware_Controllers_Backend_Config_After_Save_Config_Element
Nur wie kann ich das aktive theme kompilieren lassen?
Leider klappt das nicht. Der $compiler und der $shop werden noch korrekt geholt. Beim Aufruf von compile($shop) geht’s nicht weiter. Erstmal passiert gar nichts und dann kommt communication failure.
communication failure kommt dann, wenn der Shop nicht genügend Resourcen hat und läuft dann ein einen Timeout. Probier doch mal, in der htaccess (Root des Shops) den zugewiesenen Speicher höher zu setzen und die Execution-Time auf 120 Sek. (auch in der htaccess). Das Ganze hängt stark vom Provider ab. Bei einigen hat man diese Probleme nicht.
Okay, werde ich versuchen. Aber ich habe auch schon viele Plugins installiert, die nach dem Speichern das Theme kompilieren (mit schickem Kompilier-Fenster). Und da klappt es ja auch wunderbar. Auch kann ich das Theme von Hand kompilieren (im backend und in der Console) . Execution-Time scheint mir daher nicht das Problem zu sein.
Da Problem hatte ich auch, egal ob update oder Performance Modul. Hab dann die PHP.ini bearbeitet, erst die executuion Time erhöht ohne Erfolg. Dann den mysql Timeout auf 360 erhöht und seit dem ist alles wieder gut.
Ja, weil es nichts bringt, in der php.ini die max_execution_time zu erhöhen, wenn das in Shopware via ini_set wieder anders gesetzt wird. Soetwas muss direkt in die config.php unter dem Schlüssel php_settings (siehe Doku).