คำถามติดแท็ก theme

คำถามเกี่ยวกับการสร้างการปรับเปลี่ยนและการกำหนดค่าธีม Magento

1
วิธีการเจาะรูแคชแบบเต็มหน้าโดยไม่มีโมดูลที่กำหนดเอง
ดูเหมือนว่าแคชแบบเต็มหน้าของเราจะขึ้นอยู่กับเซสชัน หากฉันเปิดหน้าต่างที่ไม่ระบุตัวตนด้วยโครเมี่ยมและไปที่หน้าใดหน้าหนึ่งมันจะทำให้แคชอุ่นขึ้นและการโหลดหน้าที่สองนั้นเร็วกว่ามาก แต่ถ้าฉันปิดหน้าต่างนั้นและเปิดหน้าต่างที่ไม่ระบุตัวตนใหม่หน้านั้นจะไม่อยู่ใน แคชแบบเต็มหน้าและจะต้องอบอุ่นอีกครั้ง เราเชื่อว่าเป็นเพราะแถบด้านข้างที่แสดงเนื้อหาของรถเข็นของผู้ใช้ ฉันย้าย html นั้นไปยังไฟล์ phtml ใหม่ยกกำลังสองบล็อกเลย์เอาต์ xml และตอนนี้ฉันกำลังทำงานกับไฟล์ cache.xml .... ตัวอย่างทั้งหมดที่ฉันพบสำหรับ cache.xml อ้างถึงโมดูลอย่างไรก็ตามฉันไม่ได้ใช้โมดูลสำหรับบล็อก xml เลย์เอาต์ของฉันฉันใช้ core / template ... มีโอกาสบ้างไหมที่บางคนสามารถฉายแสงบนบล็อกแคชของ xml ที่ไม่ต้องการโมดูลและ / หรือรุ่น

4
Magento2.1.0 แสดงข้อผิดพลาดพารามิเตอร์ที่ต้องการ 'theme_dir' ไม่ถูกส่งผ่านในขณะบันทึกผลิตภัณฑ์ในผู้ดูแลระบบ
ฉันพบข้อผิดพลาดนี้พารามิเตอร์ที่จำเป็น 'theme_dir' ไม่ผ่านเมื่อฉันพยายามบันทึกผลิตภัณฑ์ในผู้ดูแลระบบ ฉันตรวจสอบการกำหนดค่าธีมที่กำหนดให้กับร้านค้า เมื่อเร็ว ๆ นี้ผมได้อัพเกรดจาก 2.0.7 ไป 2.1.0.Also ผมได้ตรวจสอบรูปแบบไดเรกทอรีregistration.phpไฟล์ที่มีอยู่ ทุกคนเจอปัญหานี้

2
แท็ก“ แยก” ในไฟล์ view.xml ของ Magento 2 ทำอะไรได้บ้าง
ชุดรูปแบบ Magento 2 "blank" มีลำดับชั้นของแท็กดังต่อไปนี้ <exclude> <item type="file">Lib::jquery/jquery-ui-1.9.2.js</item> <item type="file">Lib::jquery/jquery.ba-hashchange.min.js</item> <item type="file">Lib::jquery/jquery.details.js</item> <item type="file">Lib::jquery/jquery.details.min.js</item> <item type="file">Lib::jquery/jquery.hoverIntent.js</item> <item type="file">Lib::jquery/jquery.min.js</item> <item type="file">Lib::mage/captcha.js</item> <item type="file">Lib::mage/dropdown_old.js</item> <item type="file">Lib::mage/list.js</item> <item type="file">Lib::mage/loader_old.js</item> <item type="file">Lib::mage/webapi.js</item> <item type="file">Lib::moment.js</item> <item type="file">Lib::requirejs/require.js</item> <item type="file">Lib::date-format-normalizer.js</item> <item type="file">Lib::legacy-build.min.js</item> <item type="directory">Lib::modernizr</item> <item type="directory">Lib::tiny_mce</item> <item type="directory">Lib::varien</item> <item type="directory">Lib::jquery/editableMultiselect</item> <item type="directory">Lib::jquery/jstree</item> <item type="directory">Lib::jquery/fileUploader</item> <item type="directory">Lib::css</item> …
17 magento2  theme 

4
URL ของผิวปัจจุบัน
ฉันต้องการรับสกิน URL ของธีมปัจจุบันของฉัน ตอนนี้ฉันกำลังทำงานในหัวข้อ "rwd" ของ Magento และฉันใช้รหัสด้านล่างเพื่อรับ URL ของผิวหนัง: Mage::getDesign()->getSkinUrl(); ส่งคืน URL ของฉันhttp: // localhost / magento / skin / frontend / default / default / แต่ฉันต้องการ URL ที่ต้องการ: http: // localhost / magento / skin / frontend / rwd / default / โปรดช่วยฉันด้วย
17 magento-1  theme  skin 

3
Magento2 fallback logic
เรารู้ตรรกะการออกแบบทางเลือกจาก Magento 1.x แล้ว: แพ็คเกจปัจจุบัน / ธีมปัจจุบัน ชุดรูปแบบปัจจุบัน / ธีมเริ่มต้น ชุดรูปแบบพื้นฐาน / ธีมเริ่มต้น ตอนนี้ ฉันต้องการทราบเหตุผลทางเลือกการออกแบบใน Magento 2.x สำหรับไฟล์ชุดรูปแบบเค้าโครงและแม่แบบคืออะไร โปรดอธิบายสั้น ๆ

2
วิธี / แนวทางที่ถูกต้องในการแก้ไขเทมเพลต Magento คืออะไร?
โปรดแนะนำวิธีการที่ถูกต้องฉันต้องการปรับแต่งหน้า "EMAIL to Friend" ในหน้าต่างป๊อปอัปเมื่อผู้ใช้คลิกที่ปุ่ม (ส่งอีเมลผลิตภัณฑ์นี้) เมื่อเปิดใช้งานการแนะนำแม่แบบฉันพบว่ามีการสร้างปุ่มขึ้น ส่วนหน้า / RWD / default / แม่แบบ / แคตตาล็อกสินค้า / / view / sharing.phtml และไฟล์เลย์เอาต์ที่เกี่ยวข้องคือcatalog.xml(ในส่วนหน้า / rwd / default / layout) ดังนั้นฉันจึงสร้าง a local.xmlในโฟลเดอร์เดียวกันที่catalog.xmlมีรหัสต่อไปนี้ (ที่ฉันได้รับtest.phtmlแทนที่จะsharing.phtmlเป็น 'ดีบั๊ก') <?xml version="1.0"?> <layout version="0.1.0"> <default> <catalog-product-view> <reference name="content"> <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml"> <block type="catalog/product_view" name="product.info.sharing" as="sharing" template="catalog/product/view/test.phtml"/> …

7
วิธีการแทนที่ไฟล์. phtml ใน Magento 2
ฉันต้องการปรับแต่งหน้ารายละเอียดผลิตภัณฑ์ดังนั้นจึงจำเป็นต้องแทนที่ไฟล์. phtml บางไฟล์ในตำแหน่งต่อไปนี้ ดังนั้นฉันต้องการทราบวิธีการแทนที่ไฟล์. phtmlในvendor\magento\module-catalog\view\frontend\templates\productหรือvendor\magento\module-theme\view

2
วิธีที่ถูกต้องในการอัพเดทพาเรนต์ของธีมใน Magento 2
ใน Magento 2 คุณสามารถระบุธีมหลักในtheme.xmlไฟล์ของธีม <theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd"> <title>Theme Title</title> <parent>Package/base-theme</parent> <media> <preview_image>media/preview.jpg</preview_image> </media> </theme> ครั้งแรกที่วีโอไอพีเห็นชุดรูปแบบจะใช้ค่านี้เพื่อตั้งค่าparent_idในthemeตาราง นี่คือที่มาของความจริงสำหรับผู้ปกครองของชุดรูปแบบ อย่างไรก็ตามหากคุณพยายามเปลี่ยนค่านี้หลังจากที่เพิ่มธีมเข้าไปในระบบวีโอไอพีจะไม่สามารถอัปเดตparent_idคอลัมน์ได้และMagento\Theme\Model\Themeวัตถุอินสแตนซ์จะยังคงมีธีมหลักดั้งเดิมอยู่ (แม้ว่าคุณจะล้างแคช) ฉันสามารถแก้ไขได้โดยเปลี่ยนparent_idค่าด้วยตนเอง- ดูเหมือนแฮ็ค parent_idโดยปกติจะตั้งอยู่ที่ไหนในรหัสหลักของ Magento และการกระทำของผู้ใช้ที่ทำให้เกิดสิ่งนี้ นั่นคือมีวิธีที่จะบอก Magento "โปรดโหลดชุดรูปแบบนี้อีกครั้ง"

3
มีไฟล์ XML โครงร่างธีมโลคัลอื่นที่ไม่ใช่ local.xml หรือไม่?
ฉันสร้างธีมโดยการสร้างและแก้ไขไฟล์ต่อไปนี้: frontend/mypackage/default/layout/local.xml ฉันมีมุมมองร้านค้า "site1" และต้องการสร้างข้อยกเว้นเกี่ยวกับ local.xml เริ่มต้นของ "mypackage" ดังนั้นฉันจึงสร้างไฟล์นี้: frontend/mypackage/site1/layout/local.xml อย่างไรก็ตามทันทีที่ฉันสร้างไฟล์นี้วีโอไอพีจะข้ามการเปลี่ยนแปลง local.xml เริ่มต้น ฉันจะบอก Magento ให้ใช้ local.xml จากค่าเริ่มต้นและเพิ่มการเปลี่ยนแปลงใน local.xml ของ site1 ได้อย่างไร

4
วิธีการแทนที่บล็อกใน v2.1
ฉันพยายามที่จะแทนที่บล็อก Topmenu ใน Magento 2.1 แต่ไม่สามารถหาคำแนะนำได้ ทุกสิ่งที่ฉันพบในที่นี้และที่อื่น ๆ ดูเหมือนว่าจะใช้เฉพาะกับเวอร์ชัน 2.0 ซึ่งดูเหมือนว่าจะใช้โครงสร้างโฟลเดอร์ที่แตกต่างกันหรือมีตัวอย่างโค้ดบางส่วนเท่านั้นซึ่งคาดว่าฉันจะรู้บริบทที่เหมาะสมของพวกเขาแล้ว app/design/frontend/Vendor/theme_nameโครงสร้างโฟลเดอร์ของฉันปัจจุบันสำหรับธีมที่กำหนดเองคือ ภายในนี้ฉันมีการลงทะเบียนธีมและไฟล์แต่งเพลงเช่นเดียวกับโฟลเดอร์สำหรับโมดูลต่างๆเช่นและMagento_ThemeMagento_Search จากสิ่งที่ฉันเข้าใจฉันต้องเริ่มต้นด้วยetc/di.xmlไฟล์เช่นด้านล่างแก้ไขจากที่นี่ : <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Theme\Block\Html\Topmenu" type="[Namespace]\[Module]\Block\Html\Topmenu" /> </config> ฉันยังเข้าใจว่าขั้นตอนต่อไปคือการเพิ่มBlock/Html/Topmenu.phpไฟล์เช่นด้านล่าง (แก้ไขอีกครั้งจากแหล่งที่มาด้านบน): namespace [Namespace]\[Module]\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, $limit) { } } อย่างไรก็ตามมันไม่ชัดเจนสำหรับฉันสิ่งที่ฉันควรใช้สำหรับ[Namespace]และ[Module]หรือที่จะวางไฟล์เหล่านี้ ฉันได้ลองใช้ผู้ขายและชื่อชุดรูปแบบและการวางetcและBlockโฟลเดอร์ในapp/design/frontend/Vendor/theme_nameรวมถึงการapp/design/frontend/Vendor/theme_name/Magento_Themeแก้ไขการตั้งค่าเนมสเปซVendor\theme_name\Magento_Theme\Block\Htmlแต่ไม่มีผลใด ๆ หากใครสามารถช่วยอธิบายสิ่งที่ฉันต้องทำเพื่อแทนที่บล็อก Topmenu (และโดยการอนุมานบล็อกอื่น ๆ …

6
จะลบฟิลด์ บริษัท ออกจากกระบวนการชำระเงินใน Magento 2 ได้อย่างไร
จะลบฟิลด์ บริษัท ออกจากกระบวนการชำระเงินใน Magento 2 ได้อย่างไร ฉันกำลังมองหาเทมเพลต แต่ไม่พบ อัปเดต:มีวิธีใดในการลบฟิลด์นี้ผ่านโครงร่างหรือแม่แบบ

1
ไฟล์โครงร่าง local.xml หลายไฟล์ในแพ็คเกจ
บอกว่ามีสองรูปแบบในแพ็คเกจ: ฐาน (ตั้งเป็นค่าเริ่มต้น) เด็ก (ตั้งเป็นธีมหลัก) ทั้งคู่มี local.xml ในโฟลเดอร์โครงร่าง - เฉพาะ local.xml จากธีมลูกเท่านั้นที่จะถูกโหลดดังนั้นการอัปเดต CSS, JS หรือโครงร่างใด ๆ ใน Base local.xml จะไม่ถูกโหลด โดยไม่ต้องใช้ page.xml (เพื่อให้มีการทำงานเหมือนกับ local.xml แต่มีการสืบทอด) ฉันจะมีไฟล์ xml สำหรับ Base และอีกไฟล์หนึ่งสำหรับ Child ที่ทั้งสองถูกเรียกได้อย่างไร สิ่งนี้จะต้องสร้างโมดูลโดยมีวัตถุประสงค์เพียงอย่างเดียวในการเพิ่มไฟล์ xml ที่ใช้งานได้ (เช่น: base-local.xml) หรือไม่
13 magento-1  theme 

2
CMS XML จัดการสำหรับการปรับปรุงเค้าโครง
ฉันมีสถานการณ์บางอย่างที่ฉันพยายามใช้ตัวจัดการ cms เพื่ออัปเดตเค้าโครงของหน้า cms ตัวอย่างเช่นฉันพยายามใช้ cms_index_index จัดการการอ้างอิงรูทและตั้งค่าเทมเพลตหน้า สิ่งนี้ล้มเหลวและฉันต้องทำการอัพเดตเลย์เอาต์นี้ผ่านระบบผู้ดูแลระบบโดยตรงในการตั้งค่าการแสดงผลหน้าแรกของ cms ฉันยังพยายามเพิ่มบล็อกเพื่ออ้างอิงซ้ายโดยใช้หมายเลขอ้างอิง cms_page สิ่งนี้ล้มเหลวอีกครั้งและฉันต้องใช้การอัพเดทโครงร่างผ่านระบบผู้ดูแลระบบ ฉันอ่านแล้วว่าคุณไม่สามารถกำหนดเทมเพลตรูทให้กับหน้าเว็บ cms ได้ ถูกต้องและทุกคนสามารถอธิบายได้ว่าทำไม ฉันยังสงสัยด้วยว่ามีวิธีใดที่จะเปิดใช้งานตัวจัดการ cms เพื่อใช้การอ้างอิงมาตรฐานเช่นซ้าย, ขวา, รูตเป็นต้น ฉันดูเหมือนจะสามารถอ้างอิงสิ่งต่าง ๆ เช่นหัวและเนื้อหาได้ดี

1
รูปแบบชุดรูปแบบที่กำหนดเองวีโอไอพี xml และ CSS ไม่ทำงาน
ฉันสร้างธีมใหม่และมันก็ทำงานได้ดี แต่หลังจากนั้นไม่กี่วันฉันก็ตระหนักว่ามีบางสิ่งที่ไม่ได้ทำงาน default_head_blocks.xml จะไม่ดึงไฟล์ css ใด ๆ ที่ฉันรวมอีกต่อไป (ทั้งโฮสต์และภายนอก) default.xml ไม่ได้เขียนทับแม่หนึ่ง ฉันไม่แน่ใจว่าเกิดจากอะไร ฉันยังพยายามลบ / var / โฟลเดอร์รวมถึง / pub / static / frontend /
13 layout  theme  css 

4
Magento รูปแบบสำเร็จรูป / ว่างเปล่า / โครงกระดูก / เปล่าสำหรับการพัฒนาชุดรูปแบบ
มีใครบ้างไหมที่รู้ว่าเป็นเรื่องที่ดีสะอาดหมดจด / ว่างเปล่า / โครงกระดูก / ภาพเปลือยเปล่า (ไม่แน่ใจในคำศัพท์ที่เหมาะสม) base/defaultหรือไม่? ไม่ใช่ว่ามันจะไม่ดี แต่บางครั้งก็อาจจะเหมาะกับงานที่ต้องใช้ธีม มันจะเป็นเทียบเท่าวีโอไอพีนี้
12 magento-1  theme 

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