Magento

คำถาม & คำตอบสำหรับผู้ใช้แพลตฟอร์ม Magento e-Commerce

1
ทำเทมเพลต core คุณภาพเยี่ยมใช้ไฟล์แปลของโมดูล
ในส่วนขยายที่ฉันใช้งานอยู่ฉันได้เพิ่มโครงร่าง XML ผ่านโมดูล config.xml ของโมดูล เลย์เอาต์นี้มีการดัดแปลงบางส่วนสำหรับส่วนหน้า อย่างไรก็ตามบล็อกเหล่านี้บางส่วนอยู่ในโมดูลหลักของ Magento แม่แบบทั้งหมดแสดงอย่างถูกต้องตามที่คาดไว้ เทมเพลตที่ฉันทำแพ็กเกจด้วยโมดูลนั้นกำลังใช้ไฟล์แปลของโมดูลของฉันเอง แม่แบบที่บรรจุด้วยแกนวีโอไอพีจะแสดงการแปล หากฉันเพิ่มไฟล์การแปลสำหรับโมดูลหลักที่เกี่ยวข้องไฟล์การแปลนั้นจะถูกใช้ & เทมเพลตจะแสดงการแปล มีวิธีทำให้ Magento ใช้ไฟล์แปลของโมดูลของฉันหรือไม่หากไม่พบไฟล์การแปลสำหรับโมดูลหลักของ Magento? มีอะไรอีกบ้างที่ฉันสามารถทำได้ที่นี่?

3
คุณภาพเยี่ยมเพิ่ม CSS และ JS รวมถึงส่วนท้าย
ฉันกำลังทำการเพิ่มประสิทธิภาพ Yslow ของเว็บไซต์ Magento ของฉันและพยายามเพิ่ม CSS และ Js ไปยังส่วนท้ายของเว็บไซต์ ในขณะนี้ฉันกำลังใช้แท็กหัวอ้างอิงใน XML โครงร่างและการใช้addJsและaddCssการทำงานเพื่อรวมไฟล์ทั้งหมดของฉัน ฉันพยายามสลับการอ้างอิงส่วนหัวไปยังส่วนท้าย แต่ได้รับข้อผิดพลาดเมื่อฉันพยายามดูไซต์ มีวิธีการทำสิ่งนี้ในlocal.xml หรือสิ่งนี้จะต้องทำฮาร์ดโค้ดในไฟล์เทมเพลตส่วนท้ายหรือไม่?
15 layout  javascript  css 

2
การสร้างตัวเลือกที่กำหนดเองและรางวัลให้กับสินค้าที่เพิ่งเพิ่มเข้าสู่ตะกร้าโดยใช้ผู้สังเกตการณ์
ฉันต้องการที่จะเพิ่มตัวเลือกที่กำหนดเองเพื่ออ้างคำพูดโดยใช้ผู้สังเกตการณ์ที่ผู้สังเกตการณ์ checkoutCartProductAddAfter เหตุการณ์และไฟหลังจากสินค้าเพิ่มลงในรถเข็น public function checkoutCartProductAddAfter(Varien_Event_Observer $observer) { $item = $observer->getQuoteItem(); $item->addOption(new Varien_Object( array( 'product' => $item->getProduct(), 'label' => 'Free Gifts', 'value' => 'Spend $50 and get gift product worth $9.99' ) )); return; } ผู้สังเกตการณ์ของฉันทำงาน แต่ฉันไม่สามารถเพิ่มตัวเลือกที่กำหนดเองให้กับผลิตภัณฑ์ที่เพิ่มเข้ามาได้ โปรดให้ความช่วยเหลือในการเพิ่มตัวเลือกที่กำหนดเองโดยใช้ผู้สังเกตการณ์เพื่อเพิ่งเพิ่มผลิตภัณฑ์

3
ผลข้างเคียงของการปิดการใช้งานโมดูลหลักคืออะไร? (เช่น Mage_Rss / Mage_Log)
ตัวอย่างเช่นฉันแนะนำให้ปิดใช้งาน Mage_Rss เพื่อเร่งกระบวนการเช็คเอาต์เนื่องจาก Mage_Rss ไม่ได้ใช้กันอย่างแพร่หลายและบังคับให้ล้างแคชหลายครั้งต่อคำขอเช็คเอาต์ ฉันกำลังประเมินการปิดการใช้งาน Mage_Log ด้วยเหตุผลที่คล้ายกันฉันมี Google Analytics อยู่แล้วพร้อมกับรวบรวมบันทึก apache ผ่าน PapertrailApp.com แต่ฉันรู้ว่าฉันยังไม่ได้ทำกระบวนการตรวจสอบ ramifications อย่างเป็นทางการดังนั้นอย่าลังเลที่จะตอบ โดยเฉพาะสำหรับ Mage_Log หรือโดยทั่วไปสำหรับการปิดการใช้งานโมดูลหลัก ฉันรู้ว่าฉันสามารถกำหนดตารางที่โมดูลใช้โดยดูที่สคริปต์ตัวติดตั้งใน / sql และเหตุการณ์ที่ลงทะเบียนโดยดูที่ \ etc \ config.xml แต่มีอะไรที่เกี่ยวข้องอีกบ้าง โมดูลนี้ถูกห่อหุ้มอย่างสมเหตุสมผลมีผลเฉพาะกับตารางด้วยคำนำหน้า log_ หรือไม่? มีหลายเหตุการณ์ที่กำหนดโดยโมดูลหลักนี้ผู้สังเกตการณ์ของพวกเขาจะล้มเหลวอย่างสง่างาม / เงียบ ๆ หรือทำให้เกิดปัญหาต่อเนื่อง ฉันจะบอกได้อย่างไรว่ารายงานใดบ้างที่ได้รับผลกระทบ

7
ข้อผิดพลาดร้ายแรงในหน้าผู้ดูแลระบบ
ฉันได้ติดตั้งวีโอไอพี 1.7 และมันใช้ได้ดีจนถึงตอนนี้ ฉันนำเข้าผลิตภัณฑ์ทุกวัน หากมีผู้ผลิตรายใหม่ฉันจะเพิ่มลงในแอตทริบิวต์ผู้ผลิตแบบหล่นลง วันนี้ฉันได้เพิ่มตัวเลือกผู้ผลิตใหม่ในคุณลักษณะแบ็คเอนด์และไปนำเข้าผลิตภัณฑ์มันประสบความสำเร็จในการนำเข้าผลิตภัณฑ์ แต่หลังจากนั้นฉันพยายามเปิดหน้าใด ๆ ในเว็บไซต์ผู้ดูแลระบบของ Magento มันจบลงด้วยข้อความแสดงข้อผิดพลาดด้านล่าง ข้อผิดพลาดร้ายแรง: ไม่สามารถแทนที่วิธีสุดท้าย Mage_Core_Model_Abstract :: clearInstance () ใน /var/www/html/app/code/core/Mage/Catalog/Model/Category.php บรรทัด 36 บรรทัด36เริ่มต้นเป็นลอน{สำหรับคลาสนี้ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract { <-- this is line 36 และผมได้ตรวจสอบแต่ไม่มีวิธีที่กำหนดไว้กับชื่อMage_Catalog_Model_Category clearInstanceมันน่ารำคาญจริงๆ FYI: ฉันไม่ได้สัมผัสตัวอักษรรหัสเดียวฉันเพิ่งใช้ไซต์ ADMIN เพื่อนำเข้าผลิตภัณฑ์และเพิ่มคุณสมบัติที่จำเป็นบางอย่าง

5
แปลงฐานข้อมูลการผลิตเป็นข้อมูลการทดสอบ
ยิ่งการทดสอบใกล้เคียงกับการผลิตมากเท่าไหร่ก็ยิ่งดีเท่านั้นที่จะเลียนแบบพฤติกรรมการผลิตได้ ฉันต้องการคัดลอกการสำรองฐานข้อมูลจากการผลิตลงในสภาพแวดล้อมการทดสอบของเรา แต่สิ่งที่ฉันต้องเปลี่ยนเพื่อให้การทดสอบทำงานและเพื่อป้องกันการรบกวนการผลิตหรือส่งอีเมลถึงลูกค้าจริงโดยไม่ตั้งใจ (นอกเหนือจากการตั้งค่าweb/%secure/base_urlURL ทดสอบ) อีกวิธีในการคิดเกี่ยวกับคำถามนี้คือการพิจารณาวิธีสร้างข้อมูลตัวอย่างวีโอไอพีจากข้อมูลการผลิตของฉันเอง
15 database 

1
สร้างตารางฐานข้อมูลจาก CSV
ฉันกำลังทำงานกับโมดูลที่ต้องการเข้าถึงข้อมูลแบบตารางบางอย่างจากแหล่งข้อมูลภายนอก มันเป็นเพียงสองคอลัมน์ แต่มีประมาณ 40000 แถว ขณะนี้โมดูลของฉันกำลังแยกวิเคราะห์ CSV ทั้งหมดเมื่อจำเป็น วิธีนี้ใช้งานได้ดี แต่เนื่องจากไฟล์มีขนาดประมาณ 450Kb สิ่งนี้จะทำให้สิ้นเปลืองทรัพยากรของเซิร์ฟเวอร์เมื่อนำไปใช้กับไซต์ที่ใช้งานจริง ฉันต้องการย้ายข้อมูลนี้ไปยังตาราง Magento และกำลังมีปัญหา ฉันใช้วิธี RDBMS ในสคริปต์การตั้งค่าของฉัน ala: $installer = $this; $installer->startSetup(); $table = $installer->getConnection() ->newTable($installer->getTable('my_table')) ->addColumn('column_a', Varien_Db_Ddl_Table::TYPE_TEXT, 5, array( 'nullable' => false, ), 'Column A') ->addColumn('column_b', Varien_Db_Ddl_Table::TYPE_TEXT, 3, array( 'nullable' => false, ), 'Column B'); $installer->getConnection()->createTable($table); $installer->endSetup(); มันใช้งานได้ดีในการสร้างตารางของฉัน …
15 database  setup 

3
บล็อกจากโมดูลที่กำหนดเองของฉันไม่ปรากฏในหน้าผลิตภัณฑ์ ฉันจะดีบักได้อย่างไร
ฉันกำลังสร้างโมดูลที่กำหนดเองครั้งแรกของฉันหลังจากการสอนออนไลน์ ฉันได้รับว่าฉันต้องสร้างไฟล์ XML บางอย่างเพื่อให้ระบบ "ค้นพบ" โมดูลของฉัน แต่แม้เมื่อฉันแยก XML ฉันไม่เห็นความแตกต่างใด ๆ หรือบางครั้งฉันเห็นหน้าซึ่งบอกฉันว่ามีรายงานข้อผิดพลาดซึ่ง กำลังถูกซ่อนอยู่ ฉันจะค้นหารายงานข้อผิดพลาดเหล่านี้ได้อย่างไรและมีวิธีรับข้อเสนอแนะจากระบบในขณะที่ฉันกำลังพัฒนาหรือไม่ นี่คือแอพไฟล์ของฉัน/ etc / modules / BlueAcorn_Test.xml : <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <BlueAcorn_ExampleModule> <active>true</active> <codepool>local</codepool> </BlueAcorn_ExampleModule> </modules> </config> และนี่คือไฟล์กำหนดค่าของฉันที่app / code / local / Blueacorn / ตัวอย่าง / etc / config.xml : <?xml version="1.0" encoding="UTF-8"?> <config> <global> …
15 layout  debugging 

2
Magento Voiding ออเดอร์ผ่านแบ็กเอนด์
เราใช้ระบบการชำระเงิน UsaEPay สำหรับเว็บไซต์ของเรา (แต่ฉันคิดว่าปัญหา / คำถามนี้ยังคงมีอยู่สำหรับวิธีการชำระเงินอื่น ๆ เช่นกัน) วิธีการทำงานของระบบคือ "อนุญาตและจับ" การทำธุรกรรมเป็นชุดและทุกคืน UsaEPay จะส่งคำสั่งซื้อไปยังธนาคารเพื่อดำเนินการขั้นสุดท้าย ตอนนี้วิธีการคืนเงินจะไม่ทำงานเพราะก่อนการแบทช์จะมีเฉพาะโมฆะเท่านั้น ไม่มีปุ่มช่องว่างในส่วนแบ็กเอนด์เท่านั้นคืนเงิน (ซึ่งจะพ่นข้อผิดพลาดแบ็กเอนด์ในวันเดียวกัน) มีความคิดเห็นเกี่ยวกับการยกเลิกคำสั่งซื้อ A&C หรือไม่
15 payment  voiding 

2
เมื่อผสาน CSS หรือ JS ไฟล์ใหม่จะถูกสร้างขึ้นสำหรับแต่ละประเภทเพจ
เรามีไฟล์ CSS และ JS ขนาดเล็กจำนวนมากและการเปิดใช้งานการผสานดูเหมือนจะเป็นตัวเลือกที่ดี ไฟล์ CSS และ JS ส่วนใหญ่ใช้ในทุกหน้า (หน้าหลักหน้าหมวดหมู่หน้ารายละเอียดผลิตภัณฑ์) เมื่อใดก็ตามที่เราเห็นว่ามีการโหลดไฟล์ผสานที่แตกต่างกันอีกครั้งในแต่ละหน้าแม้แต่ CSS ที่มีอยู่จะต้องทับซ้อนกัน เราจะหลีกเลี่ยงปัญหานี้และนำข้อมูลกลับมาใช้ใหม่ได้อย่างไร

3
การอัพเดทกฎของแคตตาล็อกทุกวันไม่ทำงาน
ฉันประสบกับปัญหาว่าแคตตาล็อกกฎของวีโอไอพีอัพเดททุกวันไม่ทำงาน ซึ่งหมายความว่าไม่มีการเปลี่ยนแปลงราคาผลิตภัณฑ์เมื่อถึงวันหมดอายุของกฎของแค็ตตาล็อกดังนั้นฉันต้องกดปุ่มใช้กฎกดในผู้ดูแลระบบ Cron ถูกกำหนดค่าและทำงาน ดูเหมือนว่า catalogrule / ผู้สังเกตการณ์ :: dailyCatalogUpdate วิธีควรตรวจสอบและใช้กฎโดยอัตโนมัติทุกวัน แต่มันไม่ (ฉันพยายามเปิดมันด้วยตนเอง) นี่คือรหัสหลักของวีโอไอพี: <!--file: app/code/core/Mage/CatalogRule/etc/config.xml--> <crontab> <jobs> <catalogrule_apply_all> <schedule> <cron_expr>*/1 * * * *</cron_expr> </schedule> <run> <model>catalogrule/observer::dailyCatalogUpdate</model> </run> </catalogrule_apply_all> </jobs> ... </crontab> สังเกตการณ์: /*file app/code/core/Mage/CatalogRule/Model/Observer.php*/ public function dailyCatalogUpdate($observer) { Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange(); return $this; } ฉันประสบความสำเร็จในการปรับเปลี่ยนวิธีสังเกตการณ์ดังนี้ /*file app/code/core/Mage/CatalogRule/Model/Observer.php*/ public function dailyCatalogUpdate($observer) …
15 rules  catalog  cron 

2
จะอัปเดตอัตราการจัดส่งสินค้าโดยใช้ Ajax เมื่อรายการรถเข็นถูกลบในหน้าชำระเงินได้อย่างไร
อัตราการจัดส่งสินค้าของฉันคำนวณจากรายการที่มีอยู่ในรถเข็นและตอนนี้การลบรายการในCheckout/Cartหน้าฉันต้องอัปเดตอัตราการจัดส่ง ณ ตอนนี้ลบรายการในCheckout/Cartหน้าจะอัปเดตส่วนทั้งหมด แต่ไม่ได้รีเฟรชอัตราการจัดส่ง มันจะช่วยได้มากถ้ามีคนแนะนำฉันเกี่ยวกับวิธีการทริกเกอร์รับอัตราการจัดส่งเมื่อรายการถูกลบออกจากรถเข็นโดยใช้ Ajax


5
เหตุใด Magento 2 จึงใช้สิ่งที่น่าพิศวงแทน Angular หรือ React
คำถามของฉันเรียบง่ายอย่างที่พูดในหัวข้อ ทำไมวีโอไอพีถึงเลือกพิศวงแทนกรอบอื่น ๆ เช่นเชิงมุมหรือตอบโต้? มีเหตุผลที่เฉพาะเจาะจงหรือไม่? นี่เป็นแพลตฟอร์มที่เหมาะสมที่จะถามคำถามนี้หรือไม่

4
วิธีใช้ ComponentRegistrar :: LIBRARY ใน Magento 2
เรามีส่วนประกอบ 4 ประเภทใน Magento 2 เนื่องจากฉันใช้สามconst LIBRARY = 'library';องค์ประกอบแต่คำถามของฉันคือวิธีการใช้องค์ประกอบ ตามชื่อบอกถึงสิ่งนี้คือสิ่งที่รวมไลบรารีบุคคลที่สาม แต่บุคคลใดสามารถให้ตัวอย่างฉันเกี่ยวกับวิธีรวมไลบรารีและใช้ lib ในระดับแอปพลิเคชันส่วนกลาง /**#@+ * Different types of components */ const MODULE = 'module'; const LIBRARY = 'library'; const THEME = 'theme'; const LANGUAGE = 'language'; ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับการconst LIBRARY = 'library';อย่างเป็นทางการในวีโอไอพี 2 เอกสารลงทะเบียนคอมโพเนนต์ของคุณ

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