Im Wesentlichen möchten wir Kunden-E-Mails zu den Belegen (Rechnungen) und Kundenauftrags-E-Mails unserer Kunden hinzufügen, die auch für Versand / Kuriere usw. generiert werden.
Mit ein wenig Suchen habe ich festgestellt, dass der beste Weg, dies zu tun, darin besteht, diese Variable einfach über den Magento-Administrationssystembereich hinzuzufügen. Also unten:
System > Configuration > Customers > Customer Configuration > Address Templates
Dadurch werden alle Adressvorlagenfelder für Text, HTML, PDF usw. angezeigt.
Also habe ich hier in jedes Feld etwas eingefügt, von dem ich glaube, dass es der Variablenname ist.
So ist zum Beispiel HTML jetzt:
{{abhängiges Präfix}} {{var Präfix}} {{/ abhängig}} {{var Vorname}} {{abhängiger Vorname}} {{var Vorname}} {{/ abhängig}} {{var Nachname}} {{ abhängiges Suffix}} {{var Suffix}} {{/ abhängige}}
{{abhängige Firma}} {{var Firma}}
{{/ abhängige}} {{if street1}} {{var street1}}
{{/ if }} {{abhängig von Straße2}} {{var Straße2}}
{{/ abhängig}} {{abhängig Straße3}} {{var Straße3}}
{{/ abhängig}} {{abhängig Straße4}} {{var Straße4}}
{{/ abhängig}} {{wenn Stadt}} {{var Stadt}}, {{/ wenn}} {{wenn Region}} {{var Region}}, {{/ wenn}} {{wenn Postleitzahl}} {{var postcode}} {{/ if}}
{{var country}}
{{abhängig Telefon}} Mobil: {{var Telefon}} {{/ abhängig}} {{abhängig Fax}}
Festnetz: {{var Fax }} {{/ abhängig}} {{abhängig vat_id}}
Mehrwertsteuer: {{var vat_id}} {{/ abhängige}} {{abhängige E-Mail}} E-Mail: {{var E-Mail}} {{/ abhängige}}
Die Schlüsselzeile für mich ist also die folgende:
{{abhängige E-Mail}} E-Mail: {{var email}} {{/ abhängig}}
Gibt es außer dieser 1 Änderung noch etwas, was ich nicht tun kann, um diese Variable zu den Versandadressvorlagen hinzuzufügen?
Antworten:
Sie können die Kunden-E-Mail wie folgt in den Rechnungs- oder Bestellvorlagen erhalten:
SO können Sie versuchen, hinzuzufügen
nach
[Bearbeiten]
Für PDF sollten Sie dies von ersetzen
Mage_Sales_Model_Order_Pdf_Abstract::insertOrder
mit
Natürlich sollten Sie den Kerncode nicht bearbeiten.
Sie müssen die Datei in den lokalen Ordner kopieren. Sie können keine einfache Überschreibung durchführen, da es sich um eine abstrakte Klasse handelt.
quelle
Es gibt eine einfachere Möglichkeit, es allen Kundenkonfigurations-E-Mails hinzuzufügen. Schreiben Sie einfach Mage_Customer_Helper_Address und es in die Attributliste der Kundenadresse. Also mach auf
und hinzufügen
zu den Layouts, wo immer Sie es brauchen.
Erstellen Sie Ihre
app/code/community/Elgentos/AddressWithEmail/etc/config.xml
Datei;Erstellen Sie dann den Helfer bei
app/code/community/Elgentos/AddressWithEmail/Helper/Customer/Address.php
;und zuletzt erstellen Sie Ihre
app/etc/modules/Elgentos_AddressWithEmail.xml
Moduldeklarationsdatei;Leere deinen Cache und du bist fertig!
Die vollständige komponierte Erweiterung finden Sie auf Github. https://github.com/elgentos/AddressWithEmail
quelle
Die E-Mail ist leider kein Kundenadressfeld und kann in allen Entitäten gefunden werden, die mit Adressen in Verbindung stehen - Angebote, Bestellungen, Kunden - mit Ausnahme der Adressen selbst :-) Was Sie versuchen, ist nicht einfach, kann es aber sein mehr oder weniger erreicht. Dafür benötigen Sie ein benutzerdefiniertes Modul.
Alles passiert
Mage_Customer_Block_Address_Renderer_Default
in derrender()
Methode. Wie Sie sehen, werden gerenderte Variablen aus der EAV-Konfiguration geladen. Da die E-Mail kein Kundenadressattribut ist, ist sie beim Rendern nicht verfügbar. Sie können jedoch eine Möglichkeit finden, dieserender()
Methode zu überschreiben und die E-Mail-Adresse von dort abzurufen.Sie können die Klasse natürlich vollständig neu schreiben, indem Sie Magento-Umschreibungen in Ihrer Klasse
config.xml
wie folgt verwenden :Dies ist jedoch nicht erforderlich und keine wirklich bewährte Methode.
Mit Magento können Sie für jedes Adressformat (Text, HTML, Online, PDF usw.) einen Renderer definieren. Format-Renderer werden
config.xml
wie folgt definiert :Nachdem wir einen benutzerdefinierten Adressrenderer für das HTML-Format definiert haben, können wir seine Logik folgendermaßen implementieren:
Ich weiß, das sieht nach viel aus, aber es funktioniert auf jeden Fall. Ich konnte keinen einfacheren Weg finden, wenn ich mir Magento Core anschaue. Ich hoffe, das hilft.
quelle
um Kunden-Google Mail bei orde template use zu erhalten
unter Code
quelle
Wenn Sie Kunden-E-Mails zu PDF-Rechnungen hinzufügen möchten, gehen Sie wie folgt vor:
Kopieren Sie eine lokale Kopie der Datei Abstract.php, indem Sie von kopieren
App / Code / Kern / Magier / Verkauf / Modell / Bestellung / Pdf / Abstract.php
zu
app / code / local / Mage / Sales / Model / Order / Pdf / Abstract.php
Wenn Sie Kunden-E-Mails unter der Rechnungsadresse (Verkauft an) auf der lokalen Kopie der obigen Datei anzeigen möchten. Nehmen Sie die folgenden Änderungen in Zeile 313 vor:
Wenn Sie die E-Mail-Adresse des Kunden in der Lieferadresse (Versand an) anzeigen möchten, nehmen Sie die folgenden Änderungen in derselben Datei in Zeile 331 vor
Leeren Sie den Cache. Es sollte funktionieren, Kunden-E-Mails zu PDF-Rechnungen hinzuzufügen.
quelle
Überschreiben Sie einfach das DefaultRenderer.php-Projekt \ magento \ app \ code \ Modulename \ Rewrite \ etc \ di.xml
project \ magento \ app \ code \ Modulename \ Rewrite \ etc \ module.xml
D: \ ribstore \ magento \ app \ code \ Modulname \ Rewrite \ Magento \ Kunde \ Block \ Adresse \ Renderer \ DefaultRenderer.php
Namespace Sellerdeck \ Rewrite \ Magento \ Customer \ Block \ Address \ Renderer;
Verwenden Sie Magento \ Customer \ Model \ Address \ Mapper. Verwenden Sie Magento \ Customer \ Model \ Metadata \ ElementFactory.
Klasse DefaultRenderer erweitert \ Magento \ Customer \ Block \ Address \ Renderer \ DefaultRenderer {
}}
Aktualisieren, Kompilieren, Bereitstellen, erneutes Indizieren und Zwischenspeichern von Fleisch In Admin fügen Sie einfach unter System> Konfiguration> Kunden> Kundenkonfiguration> Adressvorlagen hinzu
quelle
Ich denke, Sie haben $ Bestellung zur Verfügung. Damit können Sie auf Kundeninformationen zugreifen.
Weitere Lösungen finden Sie unter Abrufen von Kundenkontodaten im Versand-PDF und Abrufen von Kundenkontodaten für Rechnungs-PDF .
quelle