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 มีวิธีอื่นนอกเหนือจากการเปลี่ยนแปลงในไฟล์ core หรือไม่?
BornCoder

การเรียกใช้เวอร์ชั่นล่าสุด 2.2.6 ยังคงเป็นปัญหาอยู่ ฉันพยายามสร้างไฟล์และไฟล์ด้วยตนเองไม่ประสบความสำเร็จอย่างแน่นอน เป็นเรื่องที่ไร้สาระที่ devs ที่ magento ยังไม่ได้แก้ไขคุณสมบัติพื้นฐานบางอย่างของ CMS 101
Marco Yammine

คำตอบ:


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>

มันใช้งานได้ แต่มันจะไม่สะท้อนอีเมล
Rajan Soni

มันใช้งานได้ แต่มันจะไม่สะท้อนความคิดเดียวกันกับอีเมล
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

มันไม่ทำงานสำหรับฉัน
Sarvesh Tiwari

@ErSarveshVTiwari ฉันมีเส้นทางไดเรกทอรีสำหรับรุ่น 2.1.2 - มันใช้งานได้กับเวอร์ชันของคุณหรือไม่ คุณช่วยระบุเวอร์ชั่นของคุณในการตอบกลับได้
ไหม

@styzzz ฉันมีเส้นทางไดเรกทอรีสำหรับรุ่น 2.1.2 - มันใช้งานได้กับรุ่น 2.1.7 ของคุณหรือไม่
Nolwennig

3

นี่เป็นข้อบกพร่องใน 2.1.2 และต่ำกว่า หลังจากอัปโหลดรูปภาพไปที่ไดเรกทอรีผิดที่ pub / media / email / logo / เว็บไซต์ / 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"/>
  • สร้างไฟล์ผู้ขาย \ YouModuleName \ Model \ Design \ Backend \ Logo.php
  • แทนที่const UPLOAD_DIR = 'logo'; with const UPLOAD_DIR = 'อีเมล / โลโก้';
  • ทดสอบ! ;)

1

วิธีแก้ปัญหานี้ทำงานสำหรับฉัน:

เพิ่มไฟล์ชื่อ logo_email.png ไปยัง Magento_Email / web directory ในธีมที่คุณกำหนดเอง:

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 มีเงื่อนไขในกรณีที่คุณต้องการแทนที่ค่าเหล่านี้โดยใช้ Admin


1

เปิดเทมเพลตอีเมลใหม่โหลดเทมเพลตใด ๆ และคลิกที่ดูตัวอย่าง หลังจากดูตัวอย่างคลิกที่โลโก้ มันจะแสดงเส้นทางที่ Magento เลือกมัน ไปที่เส้นทางลบโลโก้ก่อนหน้าและอัปโหลด ปัญหาของคุณจะได้รับการแก้ไข


1

Magento แก้ไขบั๊กในเวอร์ชั่น 2.2.6

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

ที่นี่คุณมีผู้กระทำความผิด


นี่คือการแก้ไขใน 2.1? ฉันได้อัปเดตการติดตั้ง 2.1 ด้วยผู้แต่ง แต่ดูเหมือนว่าจะไม่ได้รับการแก้ไข เราจะอัพเดทได้อย่างไร
39499 cha

ฉันไม่รู้ว่าตอนนี้ได้รับการแก้ไขหรือไม่ ฉันทำการเปลี่ยนแปลงด้วยตนเอง
Victor Piolin

1
ยังไม่ได้รับการแก้ไขตั้งแต่ 2.1.2
jehzlau

1
มันยังไม่ได้แก้ไขใน 2.1.3 เช่นกัน
BornCoder

1
ไม่ได้รับการแก้ไขใน 2.1.4 เรื่องตลกที่สมบูรณ์
LM_Fielding

1

หากปัญหาเกิดขึ้นใน 2.3.0

สำหรับโลโก้อีเมล: แทนที่ fileUploader เป็น imageUploader ใน

ผู้ขาย / วีโอไอพี / โมดูลอีเมล / view / adminhtml / ui_component / design_config_form.xml

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

สำหรับโลโก้ของไซต์: แทนที่ fileUploader เป็น imageUploader ใน

ผู้ขาย / วีโอไอพี / โมดูลธีม / 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"}}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.