ฉันพยายามเปลี่ยนโลโก้อีเมลธุรกรรม
ผู้ดูแลระบบ> เนื้อหา> การออกแบบ> การกำหนดค่า> แก้ไขบันทึกใด ๆ -> อีเมลธุรกรรม
มันอยู่ใน Magento 2.1 แต่โลโก้แสดงภาพแตกหลังจากบันทึก โปรดอ้างอิงภาพหน้าจอที่แนบมา
ฉันพยายามเปลี่ยนโลโก้อีเมลธุรกรรม
ผู้ดูแลระบบ> เนื้อหา> การออกแบบ> การกำหนดค่า> แก้ไขบันทึกใด ๆ -> อีเมลธุรกรรม
มันอยู่ใน Magento 2.1 แต่โลโก้แสดงภาพแตกหลังจากบันทึก โปรดอ้างอิงภาพหน้าจอที่แนบมา
คำตอบ:
ฉันยังพบปัญหานี้และทำวิธีแก้ปัญหาชั่วคราว:
ฉันตรวจสอบ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>
วิธีที่ง่ายที่สุดโดยไม่ต้องแก้ไขโค้ดคือ
1) สร้างไดเรกทอรีpub/media/email/logo/default
หรือpub/media/email/logo/stores/1/
(ทำงานบน 2.1.2)
2) คัดลอกโลโก้ไปยังไดเรกทอรีด้วยตนเอง
3) จากนั้นผ่านขั้นตอนที่ถูกต้อง เนื้อหา> ออกแบบ> การกำหนดค่า> แก้ไข> อีเมลข้ามชาติ>
ตอนนี้อัปโหลดโลโก้เดียวกับที่คุณเพิ่มด้วยตนเองไปยังไดเรกทอรีที่สร้างขึ้นใหม่
นี่เป็นข้อบกพร่องใน 2.1.2 และต่ำกว่า หลังจากอัปโหลดรูปภาพไปที่ไดเรกทอรีผิดที่ pub / media / email / logo / เว็บไซต์ / 1 /
มันควรจะเป็นผับ / สื่อ / โลโก้ / เว็บไซต์ / 1 /
การอ้างอิงไฟล์: แอป / รหัส / Magento / อีเมล / รุ่น / AbstractTemplate.php
มันยังไม่รวมอยู่ใน 2.1.2 ล่าสุด คุณสามารถอัปโหลดภาพในไดเรกทอรีที่ถูกต้องในขณะที่รอการแก้ไขที่จะนำไปใช้ในรุ่นถัดไป
ข้อผิดพลาดยังมีชีวิตอยู่! ทำตามขั้นตอนเหล่านี้เพื่อแก้ไข:
<preference for="Magento\Theme\Model\Design\Backend\Logo" type="Vendor\YouModuleName\Model\Design\Backend\Logo"/>
วิธีแก้ปัญหานี้ทำงานสำหรับฉัน:
เพิ่มไฟล์ชื่อ 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
เปิดเทมเพลตอีเมลใหม่โหลดเทมเพลตใด ๆ และคลิกที่ดูตัวอย่าง หลังจากดูตัวอย่างคลิกที่โลโก้ มันจะแสดงเส้นทางที่ Magento เลือกมัน ไปที่เส้นทางลบโลโก้ก่อนหน้าและอัปโหลด ปัญหาของคุณจะได้รับการแก้ไข
Magento แก้ไขบั๊กในเวอร์ชั่น 2.2.6
ที่นี่คุณมีผู้กระทำความผิด
หากปัญหาเกิดขึ้นใน 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">
ทางออกของฉันสำหรับข้อผิดพลาดนี้
1. คัดลอกโมดูลนี้ไปยังแอพ / code / Icube / EmailLogo
2. การตั้งค่า php bin / magento: อัปเกรด
ปรับใช้และล้างแคช
https://github.com/quannh02/EmailLogoMagento2.1
ต่อไปนี้เป็นงานง่าย ๆ ไม่จำเป็นต้องเปลี่ยนโครงสร้างไฟล์ ฯลฯ
ขั้นแรกให้สร้างบล็อกแบบคงที่พร้อมภาพโลโก้ของคุณ เพิ่มข้อความที่จำเป็นหากคุณต้องการ
ตั้งชื่อโลโก้อีเมลบล็อกคงที่
แทรกบล็อกใน html ของเทมเพลตอีเมลของคุณดังนี้:
{{block class="Magento\Cms\Block\Block" area='frontend' block_id="email-logo"}}
ตอนนี้คุณสามารถลบส่วนหัวอีเมลเริ่มต้นจากอีเมลของคุณ:
{{template config_path="design/email/header_template"}}