Magento 2: Ein Transaktions-E-Mail-Logo kann nicht von admin hochgeladen werden

27

Ich versuche, das Transaktions-E-Mail-Logo von zu ändern.

Admin> Inhalt> Design> Konfiguration> Beliebige Datensätze bearbeiten -> Transaktions-E-Mails

Es ist auf Magento 2.1, aber das Logo zeigt ein defektes Bild nach dem Speichern. Bitte beachten Sie den beigefügten Screenshot.

Bildbeschreibung hier eingeben

Lalit Kaushik
quelle
1
Bild wird nicht gefunden, so dass es angezeigt wird. Rechtsklick und Element inspizieren
Bildseite anzeigen
1
nach inspizieren Element /pub/media/email/logo/stores/1/email_logo.png zeigt aber derzeit Logo im Verzeichnis /pub/media/logo/websites/1/email_logo.png gespeicherten E - Mail
Lalit Kaushik
1
Ich habe das Gefühl, dass es ein Fehler in Magento 2.1
Lalit Kaushik ist.
1
Ich bin immer noch mit diesem Problem in Magento 2.1.3 konfrontiert. Gibt es eine andere Lösung als das Ändern der Kerndateien?
BornCoder
Läuft die neueste Version von 2.2.6, ist dies immer noch ein Problem. Ich habe versucht, die Verzeichnisse und Dateien manuell zu erstellen, ohne Erfolg. Es ist mehr als lächerlich, dass Entwickler bei Magento einige der grundlegendsten CMS 101-Funktionen nicht gelöst haben.
Marco Yammine

Antworten:

9

Ich bin auch auf dieses Problem gestoßen und habe eine vorübergehende Lösung gefunden:

Ich überprüfte Magento/Config/Model/Config/Backend/Email/Logound fand diese Konstante:

const UPLOAD_DIR = 'email/logo';

und änderte es zu:

const UPLOAD_DIR = 'logo';

auch in habe Magento/Email/etc/di.xmlich ersetzt email/logodurch nur logo:

<item name="value" xsi:type="string">email/logo</item>

zu:

<item name="value" xsi:type="string">logo</item>
reuelab
quelle
Es funktioniert, aber es wird nicht auf die E-Mails reflektieren
Rajan Soni
Es funktioniert, aber es wird nicht auf die E-Mails Same.any Idee reflektieren?
Magento2 Devloper
9

Die einfachste Lösung, ohne den Code zu ändern, ist zu

1) erstelle das Verzeichnis pub/media/email/logo/default oder pub/media/email/logo/stores/1/(arbeitet an 2.1.2)

2) Kopieren Sie das Logo manuell in das Verzeichnis.

3) Dann über die korrekte Prozedur Inhalt> Design> Konfiguration> Bearbeiten> Transnationale E-Mails>

Laden Sie nun dasselbe Logo hoch, das Sie manuell in das neu erstellte Verzeichnis eingefügt haben.

Darren Sutherland
quelle
DIES IST NOCH EIN PROBLEM IN VERSION 2.1.7 !!!
Styzzz
Diese Lösung war überraschend effektiv (denken Sie daran, die Berechtigungen
festzulegen
Es funktioniert nicht für mich
Sarvesh Tiwari
@ErSarveshVTiwari Ich hatte den Verzeichnispfad für Version 2.1.2 - Funktioniert das mit Ihrer Version? Können Sie bitte Ihre Version als Antwort
angeben
@ styzzz Ich hatte einen Verzeichnispfad für die Version 2.1.2. - Funktioniert das mit Ihrer Version 2.1.7?
Nolwennig
3

Dies ist ein Fehler in 2.1.2 und niedriger. Nach dem Hochladen des Bildes wird es im falschen Verzeichnis unter pub / media / email / logo / websites / 1 / abgelegt.

Es sollte pub / media / logo / websites / 1 / sein

Dateireferenz: app / code / Magento / Email / Model / AbstractTemplate.php

Es ist noch nicht in der neuesten Version 2.1.2 enthalten. Sie können das Image einfach in das richtige Verzeichnis hochladen, während Sie darauf warten, dass der Fix in der nächsten Version implementiert wird.

Jehzlau
quelle
1

Der Bug lebt noch! Befolgen Sie diese Schritte, um es zu korrigieren:

  • Erstellen Sie di.xml in Ihrem benutzerdefinierten Modul
  • hinzufügen <preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
  • Erstellen Sie die Datei Vendor \ YouModuleName \ Model \ Design \ Backend \ Logo.php
  • ersetzen Sie die Konstante UPLOAD_DIR = 'logo'; mit const UPLOAD_DIR = 'email / logo';
  • Probier es aus! ;)
Casian
quelle
1

Diese Problemumgehung hat bei mir funktioniert:

Fügen Sie eine Datei mit dem Namen logo_email.png zu einem Magento_Email / web-Verzeichnis in Ihrem benutzerdefinierten Thema hinzu:

app/design/frontend/Vendor/yourtheme/Magento_Email/web directory

Kopiere das

<Magento_Email_module_dir>/view/frontend/email/header.html

Datei in ein Magento_Email / email Verzeichnis in deinem Theme.

Bearbeiten Sie die Attribute width und height des Tags, um den Bereich wiederzugeben, in dem Ihr Logo angezeigt werden soll (z. B. 200 × 100).

Beispiel:

{{if logo_width}}
    width="{{var logo_width}}"
{{else}}
    width="200"
{{/if}}

{{if logo_height}}
    height="{{var logo_height}}"
{{else}}
    height="100"
{{/if}}

Sie sollten die if / else-Bedingungsanweisung beibehalten, falls Sie diese Werte jemals mit dem Administrator überschreiben möchten.

styzzz
quelle
1

Öffnen Sie die neue E-Mail-Vorlage, laden Sie eine beliebige Vorlage und klicken Sie auf Vorschau. Nach der Vorschau klicken Sie auf das Logo. Es wird der Pfad angezeigt, wo Magento ihn auswählt. Gehe zum Pfad, lösche das vorherige Logo und lade es hoch. Ihr Problem wird gelöst.

imaangems
quelle
1

Magento hat den Fehler in Version 2.2.6 behoben.

https://github.com/magento/magento2/commit/23103c03c527fe1ed3e1a3be691436818b7963fe#diff-6b96f29ad945c7cea90267bd4f533218L12

Hier haben Sie ihre Verpflichtung.

Victor Piolin
quelle
Ist das in 2.1 behoben? Ich habe meine 2.1-Installation mit Composer aktualisiert, aber es scheint nicht behoben zu sein. Wie können wir aktualisieren?
Cha
Ich weiß nicht, ob es jetzt behoben ist. Ich nehme die Änderung manuell vor.
Victor Piolin
1
Es ist noch nicht behoben, da 2.1.2.
Jehzlau
1
Es ist auch in 2.1.3 noch nicht behoben.
BornCoder
1
Nicht in 2.1.4 behoben, kompletter Witz.
LM_Fielding
1

Wenn das Problem in 2.3.0 auftritt

Für E-Mail-Logo: Ersetzen Sie fileUploader durch imageUploader in

Anbieter / magento / module-email / view / adminhtml / ui_component / design_config_form.xml

<field name="email_logo" formElement="imageUploader">

Für Site-Logo: Ersetzen Sie fileUploader durch imageUploader in

Anbieter / magento / module-theme / view / adminhtml / ui_component / design_config_form.xml

 <field name="head_shortcut_icon" formElement="imageUploader">

&

<field name="header_logo_src" formElement="imageUploader">
Bala Sivagnanam
quelle
0

Das Folgende ist eine einfache Umgehung. Keine Notwendigkeit, die Dateistruktur usw. zu ändern.

Erstellen Sie zunächst einen statischen Block mit einem Bild Ihres Logos. Fügen Sie die erforderlichen Texte hinzu, wenn Sie möchten.
Nennen Sie das statische Block-E-Mail-Logo.
Fügen Sie den Block wie folgt in den HTML-Code Ihrer E-Mail-Vorlage ein:

{{block class="Magento\Cms\Block\Block" area='frontend' block_id="email-logo"}}

Sie können jetzt den Standard-E-Mail-Header aus Ihrer E-Mail entfernen:

{{template config_path="design/email/header_template"}}
Els den Iep
quelle