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


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>

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.


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.


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! ;)

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.


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.


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.


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">


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"}}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.