Hi, Kennt jemand eine Möglichkeit einen Defaultpartner voreinzustellen. Ich habs in der Klasse Shopware_Plugins_Frontend_Statistics_Bootstrap (Methode refreshPartner) versucht zu implementieren. Die wird aber anscheinend nur angespochen, wenn auch der Parameter “sPartner” in der URL gefüllt wurde. Ich möchte jedoch einen Standardpartner bestimmen, der immer gezofen wird, es sei denn es wird explizit ein anderer angegeben. VG Silvio
Spontan kommt mir die Idee das mit einer kleinen Anpassung bzw. mit 'nem kleinen Plugin das zu machen. Ob das jetzt ein Plugin ost, was beim Speichern der Bestellung prüft, ob der Partner gesetzt wurde oder ob das Plugin beim Aufruf der Seite die URL untersucht - man kann das über viele Wege implementieren. Man kann es aber auch so machen, wie Du es vorhattest. Allerdings ist das ja bekanntlich nicht updatefähig. Die Updates für 4.0 werden ja bestimmt alle X Wochen kommen… Daher ist dieser Weg nicht zu empfehlen.
Ich meinte natürlich nicht „in“ sondern „mit“ der Klasse Shopware_Plugins_Frontend_Statistics_Bootstrap (Methode refreshPartner). Die habe ich nach Plugins/Local/Frontend kopiert und angepasst. Aber leider bekomme den Default Partner damit nicht in die session. Nur, wenn ich einen nicht existenten Partner mitgebe. } elseif ($request-\>getCookie('partner') !== null) { $sql = 'SELECT idcode FROM s\_emarketing\_partner WHERE active=1 AND idcode=?'; $partner = Shopware()-\>Db()-\>fetchOne($sql, array($request-\>getCookie('partner'))); if (empty($partner)) { unset(Shopware()-\>Session()-\>sPartner); // Wshey \>\>\> $sql = 'SELECT idcode FROM s\_emarketing\_partner WHERE active=1 AND idcode=?'; $partner = Shopware()-\>Db()-\>fetchOne($sql, array('4711')); Shopware()-\>Session()-\>sPartner = $partner; // Wshey \<\<\< } else { Shopware()-\>Session()-\>sPartner = $partner; } // Wshey \>\>\> } else { $sql = 'SELECT idcode FROM s\_emarketing\_partner WHERE active=1 AND idcode=?'; $partner = Shopware()-\>Db()-\>fetchOne($sql, array('4711')); Shopware()-\>Session()-\>sPartner = $partner; } // Wshey \<\<\<
D.h. den „if (empty($partner))“ Zweig springt er an aber meinen „} else {“ eben nicht. Ich möchte die Steuerung am liebsten direkt beim Einstieg machen. Aber am sichersten wäre wahrscheinlich wirklich die Idee, die Prüfung beim Speichern der Bestellung zu machen. Ich schaue mir das mal an. VG Silvio