Kundennummer in der E-Mail Registrierungsbestätigung

Ich möchte dem Kunden in der Registrierungsbestätigung (Vorlage sREGISTERCONFIRMATION) die Kundennummer mitteilen.

Alle Versuche eine entsprechende Variable einzufügen schlugen jedoch fehl.

Die Liste der Beispielvariablen dieser Vorlage beinhaltet die Kundennummer nicht (absichtlich gesperrt?)

Die Frage ist was man alles machen muss, damit die Variable für eine E-Mail-Vorlage zugänlich ist.

Dann aber auch wie lautet der Name der Variable.

 

Offizielle Anleitung von shopware: Shopware 5 - Einstellungen - E-Mails

Laut Anleitung soll die Variable heißen: $additional.user.customernumber oder korrekt in Klammern {$additional.user.customernumber}.

Diese funktioniert nicht.

 

Hallo,

die Anleitung / Dokumentation ist aber für die Bestellbestätigungsemail (sORDER) und nicht für die Registrierungsbestätigungsemail, es ist also klar, dass die genannte Variable nicht funktioniert.

Es stehen im rechten, aufklappbaren Bereich „Vaiablen Informationen“ alle Variablen, die dir zur Verfügung stehen. Ist dort die Kundennummer nicht dabei, steht sie dir dort auch nicht zur Verfügung. Wenn du sie dort brauchst, muss du dir ein Plugin schreiben (lassen), dass sie dir dort ermöglicht oder dieses Plugin von einem Shopware - Mitarbeiter nutzen: https://github.com/mnaczenski/MNAddCustomernumber/ .

Grüße

Sebastian

1 „Gefällt mir“

Danke für die Antwort!

 

@sschreier schrieb:

… oder dieses Plugin von einem Shopware - Mitarbeiter nutzen: https://github.com/mnaczenski/MNAddCustomernumber/ .

Das wäre eine Lösung.

Beim Versuch das Plugin hochzuladen erhalte ich nur: „Error. No Plugin found in archive.“

Hallo,

wenn das ZIP - Archiv leer sein sollte (was ich nicht glaube), findest du die notwendigen Dateien und dessen Inhalt auch hier: https://github.com/mnaczenski/MNAddCustomernumber?files=1 (abzulegen unter „custom/plugins/MNAddCustomernumber/“ ).

Hast du das ZIP mal auf dem PC entpackt und geschaut, ob ein Ordner „MNAddCustomernumber“ (inklusive enthaltener Dateien) dabei herauskam?
Grüße

Sebastian

1 „Gefällt mir“

Die Archive ist nicht lehr.

Die Archive heißt MNAddCustomernumber-master.zip

Ihnalt:

Ordner: MNAddCustomernumber-master mit drei Dateien:

./MNAddCustomernumber-master/MNAddCustomernumber.php

./MNAddCustomernumber-master/plugin.xml

./MNAddCustomernumber-master/README.md

 

Ich werde das mit dem einfachen Ablegen versuchen.

Allerdings würde ich bezweifeln, dass das ohne entsprechende Abarbeitung durch shopware / Installationsprozess funktoniert.

Manche andere Plugins hinterlassen Sputen/unbrauchbare Felder sogar nach der Deinstallation.

Hallo,

das ist normal bei github, das -master ergänzt wird. Einfach den Zusatz beim Ordnernamen entfernen, das Plugin per FTP hochladen - fertig. Dann klappt auch alles. Alternativ beim Ordner das -master entfernen, den Ordner wieder zippen und dann über den Plugin Manager hochladen.

Natürlich dann nach dem Hochladen das Plugin auch installieren und aktivieren. Dann hast du (kostenlos) deine gewünschte Funktion.

Grüße

Sebastian

1 „Gefällt mir“

Die Installation verlief anscheinend gut.

Ich sehe aber keine Änderung in den zu Verfügung sehenden Variablen.

Ich kann es trotzdem versuchen. Wie ist der Variablenname?

 

Der Code aus dem Plugin:

namespace MNAddCustomernumber;
use Shopware\Components\Plugin\Context\ActivateContext;
use Shopware\Components\Plugin\Context\DeactivateContext;
class MNAddCustomernumber extends \Shopware\Components\Plugin
{
    public function activate(ActivateContext $context)
    {
        $context->scheduleClearCache(ActivateContext::CACHE_LIST_DEFAULT);
    }
    public function deactivate(DeactivateContext $context)
    {
        $context->scheduleClearCache(DeactivateContext::CACHE_LIST_DEFAULT);
    }
    public static function getSubscribedEvents()
    {
        return [
            'Shopware_Modules_Admin_SaveRegisterSendConfirmation_Start' => 'onSaveRegisterSendConfirmation',
        ];
    }

    public function onSaveRegisterSendConfirmation(\Enlight_Event_EventArgs $args)
    {
        $sRegister = $this->container->get('session')->offsetGet('sRegister');

        $queryBuilder = $this->container->get('dbal_connection')->createQueryBuilder();
        $queryBuilder->select('customernumber')
            ->from('s_user')
            ->where('email = :email')
            ->setParameter('email', $sRegister['personal']['email'])
            ->orderBy('id','DESC')
            ->setMaxResults(1);

        $customernumber = $queryBuilder->execute()->fetchAll();

        $sRegister['billing'] = $sRegister['billing'] + $customernumber[0];
        $this->container->get('session')->offsetSet('sRegister', $sRegister);
    }
}

 

Registrierungs-E-Mail wird gar nicht mehr versendet. Smile

 

 

Hallo,

die Variablen werden auch nur dann aktualisiert, wenn man die E-Mail erneut versendet hat. Wenn ein Fehler kommt, solltest du in den Shopware - Logs (beispielsweise auf dem FTP im Ordner “var/logs/”) nachsehen, was für einer. Genaueres kann dir sicher [@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ als Entwickler des Plugins sagen.

Den Code aus dem Plugin hier zu posten ist auch überflüssig, da man ihn ja bei github sieht.

Grüße

Sebastian

1 „Gefällt mir“