Magento 2: Не вдається завантажити логотип транзакційного електронної пошти від адміністратора


27

Я намагаюся змінити логотип електронної пошти для транзакцій.

Адміністратор> Вміст> Дизайн> Конфігурація> Редагувати будь-яку запис -> Електронні листи про трансакцію

Він знаходиться на Magento 2.1, але логотип із зображенням зламаного зображення після збереження. будь ласка, дивіться доданий знімок екрана.

введіть тут опис зображення


1
Зображення не знайдено, тому воно показує їх. клацніть правою кнопкою миші та огляньте сторінку зображень із зображенням елементів та перевірте її. можливо, ви знайдете рішення
Hitesh Vaghasiya

1
після того, як елемент перевірки відображає /pub/media/email/logo/stores/1/email_logo.png, але в даний час логотип електронної пошти зберігається в каталозі /pub/media/logo/websites/1/email_logo.png
Lalit Kaushik

1
Я відчуваю, що це помилка в Magento 2.1
Lalit Kaushik

1
Я все ще стикаюся з цим питанням у Magento 2.1.3. Чи є якесь рішення, крім зміни основних файлів ??
BornCoder

З останньою версією 2.2.6 це все ще є проблемою. Я намагався створити файли та файли вручну з абсолютно жодним успіхом. Це не надто смішно, що розробники в magento не вирішили деяких найпростіших функцій CMS 101.
Марко Яммін

Відповіді:


9

Я також зіткнувся з цією проблемою і прийняв тимчасове рішення:

Я перевірив Magento/Config/Model/Config/Backend/Email/Logoі знайшов цю константу:

const UPLOAD_DIR = 'email/logo';

і змінив його на:

const UPLOAD_DIR = 'logo';

також у Magento/Email/etc/di.xml, я замінив email/logoпросто logo:

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

до:

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

Це працює, але це не відображатиметься в електронних листах
Раджан Соні,

Він працює, але не відображатиметься на ідеї електронної пошти Same.any?
Magento2 Devloper

9

Найпростіше обійтись без зміни коду

1) створити каталог pub/media/email/logo/default або pub/media/email/logo/stores/1/(працює на 2.1.2)

2) скопіюйте логотип до каталогу вручну.

3) Потім за допомогою правильної процедури Вміст> Дизайн> Конфігурація> Редагувати> Транснаціональні електронні листи>

Тепер завантажте той самий логотип, який ви вручну додали до новоствореного каталогу.


ЦЕ ПРОБЛЕМА В ВЕРСІЇ 2.1.7 !!!
styzzz

це рішення було напрочуд ефективним (не забудьте встановити дозволи)
nicolallias

це не працює для мене
Сарвеш Тіварі

@ErSarveshVTiwari У мене був шлях до каталогу для версії 2.1.2 - Це працює з вашою версією? Чи можете ви вказати свою версію у відповідь, будь ласка
Nolwennig

@styzzz У мене був шлях до каталогу для версії 2.1.2 - Це працює з версією 2.1.7?
Нолвенніг

3

Це помилка в 2.1.2 і пізніших версіях. Завантаживши зображення, воно переходить у неправильний каталог у паб / медіа / електронна пошта / логотип / веб-сайти / 1 /

Це має бути паб / медіа / логотип / веб-сайти / 1 /

Посилання файлу: додаток / код / ​​Magento / Електронна пошта / Модель / AbstractTemplate.php

Він ще не включений до останньої 2.1.2. Ви можете просто завантажити зображення у правильний каталог, дочекавшись виправлення, яке буде впроваджено у наступному випуску.


1

Клоп все ще живий! Виконайте наступні дії, щоб виправити це:

  • створити di.xml у вашому користувальницькому модулі
  • додати <preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
  • створити файл Vendor \ YouModuleName \ Model \ Design \ Backend \ Logo.php
  • замінити const UPLOAD_DIR = 'логотип'; з const UPLOAD_DIR = 'електронна пошта / логотип';
  • Перевірте це! ;)

1

Цей спосіб вирішив для мене:

Додайте файл під назвою logo_email.png до Magento_Email / веб-каталогу у власну тему:

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

Скопіюйте

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

файл у каталог Magento_Email / email у вашій темі.

Відредагуйте атрибути ширини та висоти тегу, щоб відображати область, у якій потрібно відображати ваш логотип (наприклад, 200 × 100).

Приклад:

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

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

Ви повинні залишити умовне твердження if / else на випадок, якщо ви хочете коли-небудь змінити ці значення за допомогою адміністратора.


1

Відкрийте новий шаблон електронної пошти, завантажте будь-який шаблон і натисніть Попередній перегляд. Після попереднього перегляду натисніть на логотип. Він покаже шлях, де Магенто вибирає його. Перейдіть до контуру, видаліть попередній логотип та завантажте. Ваша проблема буде вирішена.


1

Magento виправив помилку у версії 2.2.6.

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

Тут у вас є зобов'язання.


Це зафіксовано в 2.1? Я оновив свою інсталяцію 2.1 за допомогою композитора, але це, здається, не виправлено. Як ми можемо оновити?
ча

Не знаю, чи це зараз виправлено. Я вношу зміни вручну.
Віктор Піолін

1
Це ще не встановлено станом на 2.1.2.
jehzlau

1
Це ще не визначено в 2.1.3.
BornCoder

1
Не зафіксовано в 2.1.4, повний жарт.
LM_Fielding

1

Якщо проблема виникає в 2.3.0

Для логотипу електронної пошти: Замініть fileUploader на imageUploader в

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

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

Для логотипу сайту: Замініть fileUploader на imageUploader в

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

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

&

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


0

Далі йде проста робота. Не потрібно змінювати структуру файлів тощо.

Спочатку створіть статичний блок із зображенням вашого логотипу. Додайте необхідні тексти, якщо хочете.
Назвіть електронний логотип статичного блоку.
Вставте блок у html шаблону електронної пошти так:

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

Тепер ви можете видалити заголовок електронної пошти за замовчуванням із своєї електронної пошти:

{{template config_path="design/email/header_template"}}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.