Magento 2: วิธีการแทนที่ไฟล์ html แม่แบบเริ่มต้นของรถเข็นขนาดเล็ก?


12

จะแทนที่ /var/www/html/magento2/vendor/magento/module-checkout/view/frontend/web/template/minicart/content.htmlไฟล์ในธีมที่กำหนดเองของเราได้อย่างไร?

คำตอบ:


17

ก่อนอื่นเราต้องแทนที่ไฟล์ web / template ไปยังไฟล์ชุดรูปแบบ magento ของเราในกรณีของฉัน content.html

Magento_Checkout/web/template/minicart/content.html

หลังจากการเปลี่ยนแปลงในcontent.htmlไฟล์เราจะต้องปรับใช้ไฟล์คงที่โดยใช้คำสั่งphp bin/magento setup:static-content:deploy

หรือ

คุณต้องลบ content.html (ฉันต้องเปลี่ยนเนื้อหาในไฟล์นี้) ไฟล์จากpub/static/frontend/Magento/buytea/en_US/Magento_Checkout/template/minicartและโหลดหน้าอีกครั้ง

นำการเปลี่ยนแปลงมาใช้


1
พยายามที่จะแทนที่หน้าแรก แต่ไม่ทำงาน
Ankit Shah

หน้า
ไหน

ฉันมีโครงสร้างโฟลเดอร์ด้านล่าง magento2 |_ app |_ design |_ frontend |_ Magento |_luma |_Magento_Theme |_templates |_root.phtml composer.json registration.php theme.xml& อ้างอิงmagento.stackexchange.com/questions/138223/…
Ankit Shah

คุณต้องกำหนดชุดรูปแบบที่กำหนดเองของคุณภายใน luma มันไม่ทำงานถ้าคุณต้องการเปลี่ยนแปลงภายในชุดรูปแบบของ luma ไปที่ผู้ขาย / magento / theme-frontend-luma ของคุณ
Rakesh Jesadiya

ฉันต้องการแทนที่ Luma Theme ไม่สามารถทำได้ใช่ไหม
Ankit Shah

12

มีอีกวิธีคือ เราควรรู้ว่าเราสามารถแทนที่เทมเพลต html ผ่าน RequireJS เราไม่จำเป็นต้องสร้างธีมที่กำหนดเอง ในโมดูลที่กำหนดเองของคุณสร้างrequirejs-config.js:

app / รหัส / ผู้ขาย {} / {} module_name /view/frontend/requirejs-config.js

var config = {
    map: {
        '*': {
            'Magento_Checkout/template/minicart/content.html':
                'Vendor_ModuleName/template/minicart/content.html'
        }
    }
};

ขึ้นอธิบายเราสามารถอ่านรายละเอียดเพิ่มเติมที่นี่


เฮ้ เมื่อฉันแทนที่content.htmlด้วยวิธีนี้แล้วทำไมมันให้ฉันว่างเปล่า minicart
chirag

มีไฟล์นี้อยู่Vendor_ModuleName/template/minicart/content.htmlในpub/static?
Khoa TruongDinh

ใช่ .. และรหัสการตั้งค่าของฉันในการrequirejs-config.jsเป็น availbale
Chirag

เมื่อฉันเห็นคอนโซลมันยังใช้ไฟล์แทนแกน แต่ไม่รู้ว่าทำไมมันถึงไม่แสดงผล
chirag

พยายามล้างแคชเบราว์เซอร์ของคุณหรือไม่
Khoa TruongDinh

7

คุณสามารถลบล้างสิ่งนี้ได้โดยเพิ่มโฟลเดอร์นี้ในธีมของคุณ:

Magento_Checkout/web/template/minicart

ในโฟลเดอร์นี้คุณสามารถสร้างไฟล์ content.html หลังจากการเปลี่ยนแปลงที่ทำในไฟล์นี้ให้แน่ใจว่าคุณล้างแคชเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง


ฉันลองแล้วคุณแนะนำสิ่งนี้ แต่ไม่ได้ผล
Rakesh Jesadiya

คุณปรับใช้ไฟล์คงที่หรือไม่? และล้างแคชหรือไม่
Silvan

1
ใช่มันทำงานได้ดีหลังจากล้างไฟล์สแตติกและมันจะสร้างไฟล์ใหม่โดยอัตโนมัติในการโหลดหน้าถัดไป
Rakesh Jesadiya

0

แม้ว่าคำตอบของ Khoa TruongDinh นั้นมีประโยชน์จริง ๆ แต่ก็มีรายละเอียดบางอย่างที่หายไปดังนั้นนี่คือตัวอย่างเต็มรูปแบบ:

ตัวอย่าง minicart ที่ใช้งานได้ให้คัดลอกเทมเพลต html ไปที่:

[theme_path]/Magento_Theme/web/template/minicart/content.html

และในชุดรูปแบบ requirejs-config.js =>

var config = {
    "map": {
        "*": {
            'Magento_Checkout/template/minicart/content.html': 'Magento_Theme/template/minicart/content.html'
        }
    }
};

ดูข้อผิดพลาดหลัก ๆ ได้ที่: https://github.com/magento/magento2/issues/5832


-1

เปิดไฟล์สำหรับแก้ไขเนื้อหา minicart:

/app/design/frontend/your_theme/Theme/Magento_Checkout/web/template/minicart/content.html

เปิดไฟล์สำหรับแก้ไขเนื้อหาผลิตภัณฑ์มินิมาร์ท:

/app/design/frontend/Eglo/Theme/Magento_Checkout/web/template/minicart/item/default.html

หลังจากปรับเปลี่ยนคุณจะต้องปรับใช้ชุดรูปแบบโดยใช้bin/magento setup:static-content:deployแล้วมันจะแสดง

หากการแก้ไขไม่ถูกเติมข้อมูลให้แก้ไข tempaltes ในไดเร็กทอรีด้านล่างเพื่อแสดงการเปลี่ยนแปลงรันไทม์:

/pub/static/frontend/Your_theme/Theme/en_US/Magento_Checkout/template/minicart

คุณไม่ควรแก้ไขข้อมูลใน pub / static .. มันจะถูกเขียนทับโดยคำสั่งการปรับใช้แบบคงที่ต่อไป ...
OZZIE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.