Newsletteranmeldung bei Registrierung ohne Bestätigungsmail

Hi, der korrekte Pfad ist: engine/Shopware/Plugins/Community/Frontend Bis dahin muss das bei dir bereits vorhanden sein…dann einfach im Frontend Ordner den “DoubleOptInRegistration” Ordner erstellen und dann deine Bootstrap.php rein

1 „Gefällt mir“

[quote=“Porter”]Hi, der korrekte Pfad ist: engine/Shopware/Plugins/Community/Frontend Bis dahin muss das bei dir bereits vorhanden sein…dann einfach im Frontend Ordner den “DoubleOptInRegistration” Ordner erstellen und dann deine Bootstrap.php rein[/quote] Habe ich nun gemacht, anschließend Cache geleert, neu angemeldet, aber immer noch NIX. Im PLugin Manager wird das Plugin nicht angezeigt … ;-(( Und über den Manager kann ich es auch nicht installieren, da es eine PHP-Datei ist … Oder?

Leider noch ungelöst … Hat denn keiner einen Tipp? ;-( Besten Dank für jeden Hinweis! AK [quote=“DANYCARE | Andreas Kremer”][quote=“Porter”]Hi, der korrekte Pfad ist: engine/Shopware/Plugins/Community/Frontend Bis dahin muss das bei dir bereits vorhanden sein…dann einfach im Frontend Ordner den “DoubleOptInRegistration” Ordner erstellen und dann deine Bootstrap.php rein[/quote] Habe ich nun gemacht, anschließend Cache geleert, neu angemeldet, aber immer noch NIX. Im PLugin Manager wird das Plugin nicht angezeigt … ;-(( Und über den Manager kann ich es auch nicht installieren, da es eine PHP-Datei ist … Oder?[/quote]

Hallo, ok, ich beschreibe es nochmal von vorn: Du hast ein Verzeichnis, das wie folgt heißt (nicht selbst anlegen, ist schon vorhanden): [quote]/PfadzumShop/engine/Shopware/Plugins/Community/Frontend[/quote] Dort hinein muss ein Ordner, den Du selbst anlegst: [quote]DoubleOptInRegistration[/quote] In diesen Ordner muss die Bootstrap.php [code]<?php /**

  • Simple Plugin to add newsletter confirmation in registration process
  • Install in \Shopware\Plugins\Community\Frontend\DoubleOptInRegistration\
  • For 3.5.4 Users - Remove existing Hook Files (sAdmin*) in \Shopware\Proxies before Install
  • @author Stefan Hamann
    */

class Shopware_Plugins_Frontend_DoubleOptInRegistration_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function install(){
$hook = $this->createHook( ‚sAdmin‘, ‚sUpdateNewsletter‘, ‚onSaveRegisterNewsletter‘, Enlight_Hook_HookHandler::TypeReplace, 0 ); $this->subscribeHook($hook); return true; } public static function onSaveRegisterNewsletter(Enlight_Hook_HookArgs $args) { $parameters = $args->getArgs(); $status = $parameters[0]; // Status 0 = Removement / 1 = Insert $email = $parameters[1]; // eMailaddress $isCustomer = $parameters[2]; // isCustomer ? if ($status == false){ $deleteAndReturn = Shopware()->Db()->query(" DELETE FROM s_campaigns_mailaddresses WHERE email = ? „,array($email)); return; } $checkDuplicate = Shopware()->Db()->fetchOne(“ SELECT id FROM s_campaigns_mailaddresses WHERE email=?",array($email)); if (empty($checkDuplicate[„id“])){ $template = Shopware()->Config()->Templates->sOPTINNEWSLETTER; $hash = md5(uniqid(rand())); $temporaryArray = array(„newsletter“=>$email,„subscribeToNewsletter“=>true); $data = serialize($temporaryArray); $link = Shopware()->Front()->Router()->assemble(array(‚sViewport‘=>‚newsletter‘,‚action‘=>‚confirm‘,‚sConfirmation‘=>$hash)); Shopware()->Plugins()->Frontend()->DoubleOptInRegistration()->sendMail($email,$template,$link); Shopware()->Db()->query(" INSERT INTO s_core_optin (datum,hash,data) VALUES ( now(),?,? ) „,array($hash,$data)); } } public function sendMail($recipient, $template, $optin=false) { $mail = clone Shopware()->Mail(); $mail->From = $template[‚frommail‘]; $mail->FromName = $template[‚fromname‘]; $mail->Subject = $template[‚subject‘]; if (!empty($template[‚ishtml‘])) { $mail->IsHTML(1); $mail->Body = $template[‚contentHTML‘]; $mail->AltBody = $template[‚content‘]; } else { $mail->IsHTML(0); $mail->Body = $template[‚content‘]; } $mail->Body = str_replace(“{sMAIL}",$email,$mail->Body); if (!empty($optin)){ $mail->Body = str_replace(’{$sConfirmLink}’, $optin, $mail->Body); } foreach (Shopware()->System()->_POST as $key => $value) { $mail->Subject = str_replace(’{$sUser.’.$key.’}’, $value, $mail->Subject); $mail->Body = str_replace(’{$sUser.’.$key.’}’, $value, $mail->Body); $mail->AltBody = str_replace(’{$sUser.’.$key.’}’, $value, $mail->AltBody); } $mail->ClearAddresses(); $mail->AddAddress($recipient, „“); $mail->Send(); } public function getName(){ return „Double Opt-in in Registrierungsprozess“; } }[/code] Dann in den Adminbereich gehen, unter „Einstellungen - Plugins“ solltest Du jetzt sofort als ersten Eintrag „Double Opt-In in Registrierungsprozess“ sehen. Rechts daneben ist die Schaltfläche „install“. Dort klickst Du drauf. Der Rest geht von allein. Anschließend das Plugin aktivieren, fertig.

HAT SICH ERLEDIGT!!! Hatte die bootstrap.php mit kleinem “b” geschrieben … Jetzt mit großem “B” und alles ist gut … Hallo Lisa, ganz lieben Dank für die erneute Beschreibung. Das habe ich auch alles nun ein weiteres Mal gemacht - leider aber ohne Erfolg. Es gibt die Verzeichnisse, darin ist auch die php-Datei - dennoch sehe ich nichts, aber auch nichts im Bereich Einstellungen / Plugins. Es wäre eine feine Idee, wenn sich Shopware um die Sache kümmern würde und damit für “eines der führenden Shop-Systeme” sicherstellen würde, dass auch der Registrierungsprozess für ein Newsletter-Abo im Rahmen der Kundenanmeldung abmahnungsfrei gestaltet werden könnte. Dennoch bin ich natürlich für jeden Tipp dankbar, der an der Stelle hilft … Herzliche Grüße, AK [quote=“eweniger”]Hallo, ok, ich beschreibe es nochmal von vorn: Du hast ein Verzeichnis, das wie folgt heißt (nicht selbst anlegen, ist schon vorhanden): [quote]/PfadzumShop/engine/Shopware/Plugins/Community/Frontend[/quote] Dort hinein muss ein Ordner, den Du selbst anlegst: [quote]DoubleOptInRegistration[/quote] In diesen Ordner muss die Bootstrap.php [code]<?php /**

  • Simple Plugin to add newsletter confirmation in registration process
  • Install in \Shopware\Plugins\Community\Frontend\DoubleOptInRegistration\
  • For 3.5.4 Users - Remove existing Hook Files (sAdmin*) in \Shopware\Proxies before Install
  • @author Stefan Hamann
    */

class Shopware_Plugins_Frontend_DoubleOptInRegistration_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function install(){
$hook = $this->createHook( ‘sAdmin’, ‘sUpdateNewsletter’, ‘onSaveRegisterNewsletter’, Enlight_Hook_HookHandler::TypeReplace, 0 ); $this->subscribeHook($hook); return true; } public static function onSaveRegisterNewsletter(Enlight_Hook_HookArgs $args) { $parameters = $args->getArgs(); $status = $parameters[0]; // Status 0 = Removement / 1 = Insert $email = $parameters[1]; // eMailaddress $isCustomer = $parameters[2]; // isCustomer ? if ($status == false){ $deleteAndReturn = Shopware()->Db()->query(" DELETE FROM s_campaigns_mailaddresses WHERE email = ? “,array($email)); return; } $checkDuplicate = Shopware()->Db()->fetchOne(” SELECT id FROM s_campaigns_mailaddresses WHERE email=?",array($email)); if (empty($checkDuplicate[“id”])){ $template = Shopware()->Config()->Templates->sOPTINNEWSLETTER; $hash = md5(uniqid(rand())); $temporaryArray = array(“newsletter”=>$email,“subscribeToNewsletter”=>true); $data = serialize($temporaryArray); $link = Shopware()->Front()->Router()->assemble(array(‘sViewport’=>‘newsletter’,‘action’=>‘confirm’,‘sConfirmation’=>$hash)); Shopware()->Plugins()->Frontend()->DoubleOptInRegistration()->sendMail($email,$template,$link); Shopware()->Db()->query(" INSERT INTO s_core_optin (datum,hash,data) VALUES ( now(),?,? ) “,array($hash,$data)); } } public function sendMail($recipient, $template, $optin=false) { $mail = clone Shopware()->Mail(); $mail->From = $template[‘frommail’]; $mail->FromName = $template[‘fromname’]; $mail->Subject = $template[‘subject’]; if (!empty($template[‘ishtml’])) { $mail->IsHTML(1); $mail->Body = $template[‘contentHTML’]; $mail->AltBody = $template[‘content’]; } else { $mail->IsHTML(0); $mail->Body = $template[‘content’]; } $mail->Body = str_replace(”{sMAIL}",$email,$mail->Body); if (!empty($optin)){ $mail->Body = str_replace(’{$sConfirmLink}’, $optin, $mail->Body); } foreach (Shopware()->System()->_POST as $key => $value) { $mail->Subject = str_replace(’{$sUser.’.$key.’}’, $value, $mail->Subject); $mail->Body = str_replace(’{$sUser.’.$key.’}’, $value, $mail->Body); $mail->AltBody = str_replace(’{$sUser.’.$key.’}’, $value, $mail->AltBody); } $mail->ClearAddresses(); $mail->AddAddress($recipient, “”); $mail->Send(); } public function getName(){ return “Double Opt-in in Registrierungsprozess”; } }[/code] Dann in den Adminbereich gehen, unter “Einstellungen - Plugins” solltest Du jetzt sofort als ersten Eintrag “Double Opt-In in Registrierungsprozess” sehen. Rechts daneben ist die Schaltfläche “install”. Dort klickst Du drauf. Der Rest geht von allein. Anschließend das Plugin aktivieren, fertig.[/quote]

[quote]Es wäre eine feine Idee, wenn sich Shopware um die Sache kümmern würde und damit für „eines der führenden Shop-Systeme“ sicherstellen würde, dass auch der Registrierungsprozess für ein Newsletter-Abo im Rahmen der Kundenanmeldung abmahnungsfrei gestaltet werden könnte. [/quote] Das hat Shopware ja getan, in dem es dir und anderen vorab dieses Plugin zur Verfügung gestellt hat :wink: Dass das in einem zukünftigen Update standardmäßig drin ist, steht ja außer Frage, in der Zwischenzeit hast du aber eine „Sofort-Lösung“ und das 48 Stunden nach Thread-Start… Also manchmal frage ich mich, wie weit man sich noch kümmern soll / muss :wink: Was die Installation betrifft - das hat ja nun bei einigen anderen problemlos geklappt - ich denke du bist an der Reihe und solltest nochmal detailiert beschreiben, wie du vorgegangen bist - notfalls mit Screenshots! Also auch z.B. genaue Info, wo im Dateisystem die Bootstrap.php nun liegt!

Hallo Stefan oder auch hallo Herr Hamann, natürlich freue ich mich, dass das Shopware_Team so schnell auf ein nunmehr erkanntes Problem reagiert. Und das Problem mit der Installation war lediglich meiner eigenen Schusseligkeit geschuldet - Uppercase statt Lowercase “b/B”. Ich denke dennoch, dass ein solches “Problem” gerade in der heutigen Zeit schnell und direkt vom Hersteller adressiert werden sollte - bevor es zum Thread im Forum wird. Dennoch besten Dank für die schnelle und kompetente Hilfe. AK [quote=“Stefan Hamann”][quote]Es wäre eine feine Idee, wenn sich Shopware um die Sache kümmern würde und damit für “eines der führenden Shop-Systeme” sicherstellen würde, dass auch der Registrierungsprozess für ein Newsletter-Abo im Rahmen der Kundenanmeldung abmahnungsfrei gestaltet werden könnte. [/quote] Das hat Shopware ja getan, in dem es dir und anderen vorab dieses Plugin zur Verfügung gestellt hat :wink: Dass das in einem zukünftigen Update standardmäßig drin ist, steht ja außer Frage, in der Zwischenzeit hast du aber eine “Sofort-Lösung” und das 48 Stunden nach Thread-Start… Also manchmal frage ich mich, wie weit man sich noch kümmern soll / muss :wink: Was die Installation betrifft - das hat ja nun bei einigen anderen problemlos geklappt - ich denke du bist an der Reihe und solltest nochmal detailiert beschreiben, wie du vorgegangen bist - notfalls mit Screenshots! Also auch z.B. genaue Info, wo im Dateisystem die Bootstrap.php nun liegt![/quote]

Hi Leute, funktioniert die Lösung auch mit der aktuellen Version 3.5.6? Ich bekomme im Plugin-Manager einen Fehler: [quote]Fehler-Protokoll: Parse error: syntax error, unexpected T_STRING, expecting ‚)‘ in /usr/www/users/fitneq/shop/engine/Shopware/Plugins/Community/Frontend/DoubleOptInRegistration/Bootstrap.php on line 48 Bitte beheben Sie den Fehler oder löschen Sie das fehlerhafte Plugin![/quote] Grüße

::gelöst:: Nur der Code von Lisa funktioniert bei mir, keine Ahnung wieso. Davor hat sich ein Fehler eingeschlichen, in der Zeile 48. Grüße

Was 'n Zufall. Das Thema hatten wir heute auch. Ich habe den Originalcode verwendet und mit dem funktioniert es. Was zum Thema: mit welchem Tool versendet ihr eure Newsletter?

Ich erhalte leider auch die Fehlermeldung mit der Zeile 48. Da der Code von List identisch ist mit dem Originalscript ist bringt auch ein solcher Austausch keine Veränderung. Wo kann der Fehler liegen?