Magento 2: ฉันจะปรับใช้ชุดรูปแบบของฉันเท่านั้น


33

ฉันใช้สิ่งนี้เพื่อปรับใช้เนื้อหา แต่ใช้เวลานานเกินไป

php bin/magento setup:static-content:deploy 

ฉันคิดว่าการเพิ่มภาษาทำได้เร็วขึ้น แต่ก็ยังคงปรับใช้ธีมทั้งหมด

php bin/magento setup:static-content:deploy  en_US

ฉันจะ deployเฉพาะเนื้อหาธีมของฉันเท่านั้นได้อย่างไร


FYI มีการประชาสัมพันธ์ที่จะเพิ่มความสามารถนี้และอีกมากมาย ฉันคิดว่ามันน่าจะออกมาพร้อมกับ v2.2
thdoan

โซลูชันที่เป็นไปได้อีกอย่างหนึ่ง แต่สำหรับโหมดการผลิตmagento.stackexchange.com/questions/126270/…

ฉันใช้ magento 2.0.4 และใช้ <code> php -dmemory_limit = 8G bin / magento setup: เนื้อหาคงที่: ปรับใช้ --theme Rws / fonddecave en_US de_DE fr_FR </code> แต่มีข้อผิดพลาดเกิดขึ้น - ตัวเลือกไม่ ไม่มีอยู่ มีข้อผิดพลาดใดที่ฉันสามารถช่วยฉันได้
Raghwendra Ojha

หากคุณมีคำถามใหม่โปรดขอได้โดยคลิกที่ถามคำถามปุ่ม รวมลิงค์ไปยังคำถามนี้หากช่วยระบุบริบท - จากการทบทวน
Shoaib Munir

1
@DarrenFelton เสร็จแล้ว
Qaisar Satti

คำตอบ:


56

ในฐานะ 2.1.1 ขณะนี้คุณสามารถปรับใช้ธีมเฉพาะหรือแยกธีมได้:

ปรับใช้ธีมเฉพาะ:

php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme

ยกเว้นธีม:

php bin/magento setup:static-content:deploy --exclude-theme Magento/luma

ป้อนคำอธิบายรูปภาพที่นี่

อัพเดทตัวเลือกเหล่านี้ขณะนี้อยู่ในเอกสาร


มันใช้งานไม่ได้สำหรับฉันและมันไม่ได้พูดถึงในdevdocs.magento.com/guides/v2.1/config-guide/cli/… เรามีเพียง 2 ตัวเลือก
Adeel Ishfaq

@AdeelIshfaq เช่นเดียวกับสิ่งอื่น ๆ มากมายมันยังไม่ได้บันทึก แต่มันใช้งานได้ใน 2.1.1 ฉันแนบภาพหน้าจอ
Mathew Tinsley

ส่งคำขอดึงเพื่อให้เพิ่มตัวเลือกใหม่ในเอกสาร: github.com/magento/devdocs/pull/827
Mathew Tinsley

@MathewTinsley เป็นไปได้หรือไม่ที่จะใช้ธีมส่วนหน้าเฉพาะในทุกภาษาและธีมแบ็กเอนด์เฉพาะในภาษาเดียวเท่านั้น? ฉันไม่ต้องการแบ็กเอนด์ของฉันในทุกภาษา ..
bpoiss

@bpoiss มี--languageพารามิเตอร์ตอนนี้ ตัวอย่าง--language en_US
Darren Felton

25

ฉันกลัวว่าคุณจะไม่สามารถปรับใช้เพียงหนึ่งชุดรูปแบบโดยsetup:static-content:deployคำสั่งคอนโซลวีโอไอพี

ฉันได้รับการจัดการกับการพัฒนาส่วนหน้า M2 ใน 2 สัปดาห์ที่ผ่านมาและฉันสามารถยืนยันได้ว่ากระบวนการ dev เป็นความเจ็บปวดที่แท้จริง! คุณจะเสียเวลามากในการปรับใช้การเปลี่ยนแปลงเนื่องจากความซับซ้อนของลำดับชั้นไฟล์น้อยลงและการล้มเหลวของชุดรูปแบบ

อย่างไรก็ตามตอนนี้ฉันก็ทำเสียงฮึดฮัดที่นี่คุณจะพบวิธีการติดตั้งกำหนดค่าและใช้งานด้วย Grunt คุณสามารถปรับใช้และ / หรือคอมไพล์ไฟล์น้อยลงสำหรับธีมเดียว

ดังนั้นวิธีการก็ว่าโอเคถ้าคุณอยู่ในโหมด "นักพัฒนา" เพราะฮึดฮัดไม่ปรับภาพ , แบบอักษรและจาวาสคริปต์ไฟล์ไปpub/static/...ดังนั้นวีโอไอพีจะทำมันเป็นครั้งแรกที่จำเป็น

ในการเปิดใช้งานโหมดผู้พัฒนาให้รัน:

php bin/magento  deploy:mode:set developer

หากคุณกำลังมองหาวิธีการปรับใช้เนื้อหาทั้งหมดสำหรับชุดรูปแบบเดียวในproductionฉันขอโทษที่บอกว่าเป็นไปไม่ได้

BTW ฉันค่อนข้างแน่ใจว่ามันจะเป็นการร้องขอคุณสมบัติที่ดีที่จะทำ

แก้ไข: ข่าวด่วน!

ฉันพบวิธีปรับใช้การเปลี่ยนแปลงทั้งหมดเร็วขึ้นเล็กน้อย:

  • ติดตั้ง Grunt + กำหนดธีมของคุณ(หนึ่งภาษาสำหรับแต่ละภาษา)
  • หลังจากการเปลี่ยนแปลงแต่ละครั้งรัน:
    • grunt exec:{theme_name} // Clean folders and deploy less files
    • grunt less:{theme_name} // Process less files

Voila ตอนนี้คุณจะมีการเปลี่ยนแปลงทั้งหมดของคุณในJust (¿?) 12 ~ 16 วินาที, 12 วินาทีเป็นบันทึกส่วนตัวของฉัน!

แก้ไข: ข่าวด่วน 2!

ได้รับการยืนยัน! ถ้าคุณกำลังมีการเปลี่ยนแปลงไป (ใช้งานแล้ว) ไฟล์ .less grunt less:{theme_name}ทำงานเพียง

ดังนั้นคุณต้องทำงานgrunt exec:{theme_name}เฉพาะเมื่อ:

  • เพิ่ม / ลบ / เปลี่ยนชื่อ*.lessไฟล์
  • เพิ่ม / ลบ / เปลี่ยนชื่อ*.jsFils
  • เพิ่ม / ลบ / เปลี่ยนชื่อ*.cssไฟล์
  • เพิ่ม / ลบ / เปลี่ยนชื่อimageไฟล์
  • เพิ่ม / ลบ requirejs-config.js

นอกจากนี้ผมคนพิการblocks, layoutsและfull pageแคชดังนั้นการเปลี่ยนแปลงแม่แบบและ / หรือรูปแบบ XML ใด ๆ จะปรากฏขึ้นโดยอัตโนมัติ


คุณช่วยแนะนำฉันถึงวิธีการเปลี่ยนแปลงใน css ผ่านน้อยกว่าฉันติดอยู่ใน topmenu บางรายการพบ แต่บางคนไม่ได้ แต่มี CSS เป็นมี .. เหมือนเด็ก.nav-sections level0
Qaisar Satti

เป็นหัวข้อที่มีขนาดใหญ่มากที่ฉันแนะนำให้คุณอ่าน (ทั้งหมด) คู่มืออย่างเป็นทางการ ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/ ...... ) คุณต้องเข้าใจทั้งหมดlib > module > theme > fallback. ในฐานะที่เป็นจุดเริ่มต้นลองดูlib/web/css
MauroNigrele

คุณสามารถดูเอกสาร UI Library ในร้านค้าของคุณเองหรือที่นี่: magento2-demo.nexcess.net/pub/static/frontend/Magento/luma/ ......เช่นกัน
MauroNigrele

2
จะทำอย่างไรเมื่อคุณแก้ไขปลั๊กอิน JS ฉันพบว่าการเปลี่ยนแปลงไม่ได้รับการสะท้อนในไซต์ ฉันต้องลบไฟล์ JS ที่แก้ไขแล้วpub/staticและ redeploy ( setup:static-content:deploy) เพื่อให้การเปลี่ยนแปลงแสดง
thdoan

ไม่แน่ใจว่าทำไมนี่คือคำตอบที่ยอมรับได้คำตอบด้านล่างดีกว่ามาก
Tisch

16

ใน Magento 2 คุณสามารถปรับใช้ธีมเฉพาะและยังแยกธีมด้วยคำสั่งนี้:

ปรับใช้ธีมเฉพาะเนื้อหาโดยคำสั่งนี้:

php bin/magento setup:static-content:deploy --theme Vendor/firsttheme --theme Vendor/secondtheme

ยกเว้นธีมโดยคำสั่งนี้:

php bin/magento setup:static-content:deploy --exclude-theme Vendor/yourtheme

หากคุณต้องการปรับใช้เนื้อหาสแตติกสำหรับภาษาเฉพาะ (en_US)และยกเว้นธีมอื่น ๆ และไม่จำเป็นต้องลดขนาดไฟล์ HTML ให้ใช้คำสั่งนี้:

magento setup:static-content:deploy en_US --exclude-theme Vendor/yourtheme --no-html-minify

5

นี่คือช็อตคัตสำหรับปรับใช้ธีมของคุณเท่านั้น

- สำหรับพื้นที่

-t สำหรับชุดรูปแบบ

-l สำหรับภาษา

php bin/magento setup:static-content:deploy en_US -a frontend -t Magento/luma

แหล่ง


1
ไม่ควรจะมี-lมาก่อนen_USหรือไม่
James Harrington


1

ในการปรับใช้ชุดรูปแบบเฉพาะด้วยภาษาเฉพาะ:

php bin/magento setup:static-content:deploy --theme Magento/backend --theme Vendor/mytheme pt_BR


1

หากคุณภาพเยี่ยมของคุณอยู่ในโหมดนักพัฒนาให้ปรับใช้ชุดรูปแบบเฉพาะโดยใช้คำสั่งด้านล่าง:

ลบเนื้อหาแบบคงที่

rm -rf pub/static/*                            /*to remove files excluding .htaccess*/

rm -rf var/view_preprocessed/*                 /*to remove files excluding .htaccess*/

และจากนั้น

php bin/magento setup:static-content:deploy -f --theme Vendor/theme

หรือ

php bin/magento s:s:d -f --theme Vendor/theme
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.