Magento 2: Nie można załadować transakcyjnego logo e-mail od administratora


27

Usiłuję zmienić logo e-maila transakcyjnego.

Administrator> Treść> Projekt> Konfiguracja> Edytuj dowolny rekord -> E-maile transakcyjne

Jest na Magento 2.1, ale logo pokazuje uszkodzony obraz po zapisaniu. zapoznaj się z załączonym zrzutem ekranu.

wprowadź opis zdjęcia tutaj


1
Obraz nie został znaleziony, więc pokazuje ich. kliknij prawym przyciskiem myszy i sprawdź element, aby wyświetlić stronę obrazu i sprawdź go. może znajdziesz rozwiązanie
Hitesh Vaghasiya

1
po inspekcji element pokazuje /pub/media/email/logo/stores/1/email_logo.png, ale aktualnie logo e-mail zapisane w katalogu /pub/media/logo/websites/1/email_logo.png
Lalit Kaushik

1
Wydaje mi się, że jest to błąd w Magento 2.1
Lalit Kaushik,

1
Nadal mam ten problem w Magento 2.1.3. Czy istnieje inne rozwiązanie niż zmiana w podstawowych plikach?
BornCoder,

Uruchomienie najnowszej wersji 2.2.6 nadal stanowi problem. Próbowałem ręcznie utworzyć katalogi i pliki, ale bez skutku. To absurdalne, że deweloperzy z magento nie rozwiązali niektórych z najbardziej podstawowych funkcji CMS 101.
Marco Yammine,

Odpowiedzi:


9

Zetknąłem się również z tym problemem i wprowadziłem tymczasowe rozwiązanie:

Sprawdziłem Magento/Config/Model/Config/Backend/Email/Logoi znalazłem tę stałą:

const UPLOAD_DIR = 'email/logo';

i zmieniłem na:

const UPLOAD_DIR = 'logo';

także w Magento/Email/etc/di.xml, zastąpiłem email/logotylko logo:

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

do:

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

Działa, ale nie będzie odzwierciedlał wiadomości e
Rajan Soni

Działa, ale nie odbije się na e-mailach Ten sam pomysł.
Magento2 Devloper

9

Najłatwiejszym obejściem bez modyfikacji kodu jest

1) utwórz katalog pub/media/email/logo/default lub pub/media/email/logo/stores/1/(działa na 2.1.2)

2) ręcznie skopiuj logo do katalogu.

3) Następnie za pomocą prawidłowej procedury Treść> Projekt> Konfiguracja> Edycja> Ponadnarodowe wiadomości e-mail>

Teraz prześlij to samo logo, które ręcznie dodałeś do nowo utworzonego katalogu.


TO JESZCZE PROBLEM W WERSJI 2.1.7 !!!
styzzz

to rozwiązanie było zaskakująco skuteczne (pamiętaj o ustawianiu uprawnień)
nicolallias

to nie działa dla mnie
Sarvesh Tiwari

@ErSarveshVTiwari Miałem ścieżkę katalogu dla wersji 2.1.2 - Czy to działa z twoją wersją? Czy możesz podać swoją wersję w odpowiedzi
Nolwennig,

@styzzz Miałem ścieżkę do katalogu wersji 2.1.2 - Działa z twoją wersją 2.1.7?
Nolwennig,

3

To jest błąd w wersji 2.1.2 i niższych. Po przesłaniu obraz trafia do niewłaściwego katalogu w pubie / media / email / logo / sites / 1 /

Powinien to być pub / media / logo / strony internetowe / 1 /

Referencje pliku: app / code / Magento / Email / Model / AbstractTemplate.php

Nie jest jeszcze uwzględniony w najnowszym 2.1.2. Możesz po prostu załadować obraz do odpowiedniego katalogu, czekając na wprowadzenie poprawki w następnej wersji.


1

Błąd wciąż żyje! Wykonaj następujące kroki, aby to poprawić:

  • utwórz di.xml w swoim module niestandardowym
  • Dodaj <preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
  • utwórz plik Vendor \ YouModuleName \ Model \ Design \ Backend \ Logo.php
  • zamień const UPLOAD_DIR = 'logo'; z const UPLOAD_DIR = 'email / logo';
  • Sprawdź to! ;)

1

To obejście działało dla mnie:

Dodaj plik o nazwie logo_email.png do katalogu Magento_Email / web w niestandardowym motywie:

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

Skopiuj

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

plik do katalogu Magento_Email / email w swoim motywie.

Edytuj atrybuty szerokości i wysokości znacznika, aby odzwierciedlić obszar, w którym chcesz wyświetlać logo (na przykład 200 × 100).

Przykład:

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

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

Powinieneś pozostawić instrukcję warunkową if / else na wypadek, gdybyś kiedykolwiek chciał zastąpić te wartości za pomocą Administratora.


1

Otwórz nowy szablon wiadomości e-mail, załaduj dowolny szablon i kliknij przycisk Podgląd. Po podglądzie kliknij logo. Pokaże ścieżkę, w którą wybrał ją Magento. Przejdź do ścieżki, usuń poprzednie logo i prześlij. Twój problem zostanie rozwiązany.


1

Czy to naprawiono w 2.1? Zaktualizowałem moją instalację 2.1 za pomocą kompozytora, ale wydaje się, że nie jest naprawiona. Jak możemy zaktualizować?
cha

Nie wiem, czy to teraz naprawione. Dokonuję zmiany ręcznie.
Victor Piolin,

1
Nie jest jeszcze naprawiony od 2.1.2.
jehzlau

1
Nie jest to jeszcze poprawione w 2.1.3.
BornCoder,

1
Nie naprawiono w 2.1.4, kompletny żart.
LM_Fielding

1

Jeśli problem występuje w 2.3.0

Logo e-mail: Zamień fileUploader na imageUploader w

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

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

Logo witryny: zamień fileUploader na imageUploader w

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

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

I

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


0

Poniżej przedstawiono proste obejście. Nie trzeba zmieniać struktury plików itp.

Najpierw utwórz blok statyczny z obrazem swojego logo. Dodaj niezbędne teksty, jeśli chcesz.
Nazwij logo e-mail bloku statycznego.
Wstaw blok do html szablonu e-maila w następujący sposób:

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

Możesz teraz usunąć domyślny nagłówek wiadomości e-mail:

{{template config_path="design/email/header_template"}}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.