Hallo, ich versuche mich gerade wieder an einem kleinem Plugin. Leider muss was falsch schein, da nach Installation die Plugins nicht angezeigt werden Ich vermute hier: public static function onPostDispatch(Enlight\_Event\_EventArgs $args) { $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); if(!$request-\>isDispatched()||$response-\>isException()||$request-\>getModuleName()!='frontend'){ return; } $view = $args-\>getSubject()-\>View(); $config = Shopware()-\>Plugins()-\>Frontend()-\>Skype()-\>Config(); $view-\>SkypeConfig = $config; $view-\>addTemplateDir(dirname(\_\_FILE\_\_).'/templates/'); {if $Config-\>classic} $view-\>extendsTemplate('frontend/plugins/Skype/classic.tpl'); {else} $view-\>extendsTemplate('frontend/plugins/Skype/normal.tpl'); {/if} }
Kann mir jmd weiterhelfen? EDIT: Wie debugge ich so was am einfachsten?
Erledigt. Ich habe eine Smarty IF anstatt eine PHP IF verwendet
Mhh, noch nicht ganz. Ich verwende nun diesen Code: if ($Config-\>classic == 'true') { $view-\>extendsTemplate('frontend/plugins/Skype/classic.tpl'); } else { $view-\>extendsTemplate('frontend/plugins/Skype/normal.tpl'); }
Obwohl classic auf true steht, wird mir immer das normal.tpl angezeigt. Was ist da noch falsch?
Okay, ich habe die IF Abfrage nun von der Bootstrap.php in die Template Datei verlagert. Hier funktiniert es wie gewünscht. Aber nur zur Info für mich. Wo mache ich diese IF Abfragen am geschicktesten? In der Bootstrap.php oder in den Template Dateien? 1. Bootstrap.php {if $Config-\>classic} $view-\>extendsTemplate('tpl1'); {else} $view-\>extendsTemplate('tpl2'); {/if}
2. Template Datei {if $SkypeConfig-\>classic} Template Code 1 {else} Template Code 2 {/if}
In den Template-Dateien - das Konstrukt mit der Bedingung und den Extends im Bootstrap kann so nicht funktionieren - die Templates werden ja kompiliert, also wenn eine der Bedingungen erfüllt wird, wird das Extends “dauerhaft” bis zum nächsten Leeren des Cache ausgeführt. Solche Bedingungen also einfach im Template abfragen.