Magento

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

8
การศึกษาเพื่อเป็นนักพัฒนาที่ได้รับการรับรองคุณภาพเยี่ยม
ฉันได้พิจารณาการศึกษาเพื่อเป็นนักพัฒนาที่ได้รับการรับรองคุณภาพเยี่ยม เมื่อฉันมองไปที่คู่มือการศึกษาที่ฉันเห็นคำถามจำนวนมากซึ่งผมสามารถตอบได้ แต่ปัญหาคือผมไม่ทราบจริงๆสิ่งที่พวกเขาคาดหวังว่าผมจะตอบ ตัวอย่างเช่นคำถามนี้: อธิบายโครงสร้างโมดูล Magento โดยทั่วไป พวกเขาคาดหวังให้ฉันตอบด้วยโครงสร้างโมดูลแบบเต็ม (ฉันจะไปได้ไกลแค่ไหน) พวกเขาคาดหวังให้ฉันตอบด้วยวิธีที่ config.xml ควรมีลักษณะอย่างไร ฉันรวมผู้ช่วยเหลือและ / หรือการรวบรวมทรัพยากรหรือไม่ ไม่มีใครรู้ว่าฉันสามารถหาคำแนะนำที่เฉพาะเจาะจงมากขึ้นหรือใครสามารถให้คำแนะนำกับฉันได้บ้าง? แก้ไข เห็นได้ชัดว่าคำถามล้วนแล้วแต่มีหลายทางเลือกดังนั้นสิ่งนี้จะทำให้ง่ายขึ้นมาก อย่างไรก็ตามฉันยังสนใจทรัพยากรที่คุณสามารถค้นหา / รู้เกี่ยวกับ

5
จะเขียนนามสกุลที่กำหนดเองได้อย่างไร?
เนื่องจากเมื่อเร็ว ๆ นี้ฉันมีปัญหามากมายเกี่ยวกับส่วนขยายที่ฟรีและเชิงพาณิชย์ฉันตัดสินใจที่จะถามคำถามนี้และตอบคำถามด้วยขั้นตอนที่ฉันมักจะปฏิบัติตามเมื่อเขียนส่วนขยาย อย่าลังเลที่จะแก้ไขคำตอบหรือเพิ่มคำตอบใหม่ ในกรณีส่วนใหญ่เมื่อติดตั้งส่วนขยายหรือชุดรูปแบบฉันต้องใช้เวลาสองสามชั่วโมง (บางครั้งมากกว่าหรือบางครั้งก็น้อยกว่า) เพื่อให้สามารถใช้งานได้ในทุกสภาพแวดล้อมที่ฉันต้องการ: dev: โดยปกติlocalhostโครงการจะอยู่ในโฟลเดอร์ย่อย preprod & สด สิ่งนี้เกิดขึ้นแม้จะมีส่วนขยายจากผู้ให้บริการส่วนขยายขนาดใหญ่ (ที่ควรจะเป็นแบบนิรนามอย่างน้อยก็จนกว่าฉันจะบ้าจริง ๆ และเพิ่มชื่อของพวกเขาในที่นี่) ดังนั้นคำถามหลักคือ .. ขั้นตอนใดที่ฉันควรพิจารณาเมื่อเขียนส่วนขยาย ของรหัสและทำให้มันง่ายขึ้นสำหรับบุคคลด้านเทคนิคและไม่ใช่ด้านเทคนิคที่จะใช้มันและสำหรับคนทางเทคนิคที่จะเปลี่ยนมันได้หรือไม่

15
Security Patch SUPEE-7405 - ปัญหาที่อาจเกิดขึ้น?
ถึงเวลาแล้วสำหรับการแก้ไขเพิ่มเติมอีก SUPEE-7405 สำหรับ Magento 1.x หมดไปแล้วและรายการการแก้ไขมีความยาว: https://magento.com/security/patches/supee-7405 หลังจากประสบการณ์กับแพตช์ล่าสุดฉันต้องถามอีกครั้ง: อะไรคือปัญหาที่เป็นไปได้เมื่อใช้แพทช์และฉันต้องพิจารณาอะไร? ปัญหา XSS จำนวนมากได้รับการแก้ไขอีกครั้งดังนั้นฉันจึงคาดว่าจะแก้ไขธีมที่กำหนดเองด้วยตนเอง มีอะไรอีกไหม มีการเปลี่ยนแปลงที่เข้ากันไม่ได้ย้อนหลังหรือไม่?

7
Magento 2: การใช้หรือไม่ใช้ ObjectManager โดยตรง?
ตกลงดังนั้นเมื่อวานนี้เราได้มีการพูดคุยใหญ่กับคนอื่น ๆ จากชุมชนวีโอไอพีเกี่ยวกับการใช้งานโดยตรงของObjectManagerในชั้นเรียน / แม่แบบ ฉันได้ทราบถึงสาเหตุที่เราไม่ควรใช้ ObjectManager โดยตรงโดยอ้างถึง Alan Kent : มีสาเหตุหลายประการ รหัสจะใช้งานได้ แต่เป็นแนวปฏิบัติที่ดีที่สุดที่จะไม่อ้างอิงคลาส ObjectManager โดยตรง เพราะเราพูดอย่างนั้น! ;-) (แสดงได้ดีกว่าเนื่องจากรหัสที่สอดคล้องกันคือรหัสที่ดี) รหัสสามารถใช้กับกรอบการฉีดที่แตกต่างกันในอนาคต การทดสอบนั้นง่ายกว่า - คุณผ่านการจำลองแบบอาร์กิวเมนต์สำหรับคลาสที่ต้องการโดยไม่ต้องให้ ObjectManager จำลอง มันช่วยให้การพึ่งพาชัดเจนยิ่งขึ้น - เป็นที่ชัดเจนว่ารหัสขึ้นอยู่กับผ่านรายการคอนสตรัคแทนที่จะมีการพึ่งพาที่ซ่อนอยู่ในช่วงกลางของรหัส มันสนับสนุนให้โปรแกรมเมอร์คิดเกี่ยวกับแนวความคิดเช่นการห่อหุ้มและการทำให้เป็นโมดูลได้ดีขึ้น - ถ้าคอนสตรัคเตอร์มีขนาดใหญ่บางทีมันอาจเป็นสัญญาณที่รหัสจำเป็นต้องทำการเปลี่ยนใหม่ จากสิ่งที่ฉันเห็นใน StackExchange ผู้คนจำนวนมากมักจะไปหาวิธีแก้ปัญหาที่ง่าย / สั้น / ไม่แนะนำเช่นบางสิ่งเช่นนี้: <?php //Get Object Manager Instance $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); //Load product by product ...

5
การตั้งค่าเซิร์ฟเวอร์วีโอไอพีที่ดีที่สุดคืออะไร
ขณะนี้เรากำลังทำงานกับข้อกำหนดที่คำตอบแรกจากเว็บเซิร์ฟเวอร์จะต้องอยู่ในระยะไม่เกิน 200 มิลลิวินาทีในสหราชอาณาจักร ขณะนี้มีเว็บเซิร์ฟเวอร์เฉพาะ 2 เครื่องภายใต้ load balancer และเซิร์ฟเวอร์ 1 db เรามาที่ 800ms ไซต์ในขณะนี้มีลูกค้าน้อยกว่า 5 ราย 2 ผลิตภัณฑ์ 4 หมวดไม่มีส่วนหน้าของไซต์ในขณะนี้เป็นรูปแบบฟรีและรูปภาพฟรี มันยังถูกเรียกใช้บน nginx กับ Varnish ทุกคนสามารถให้คำแนะนำเกี่ยวกับการตั้งค่าเว็บเซิร์ฟเวอร์ได้หรือไม่ ทำไมพวกเราถึงเข้ามาช้า คุณจะแนะนำอะไรให้ปรับค่านี้ ต้องการรับ 400% เร็วขึ้น!

8
วิธีทดสอบหรือจัดรูปแบบหน้าคำสั่งซื้อที่ประสบความสำเร็จ
หากฉันโหลดcheckout/onepage/successหน้าซ้ำฉันจะถูกนำไปที่รถเข็น ดังนั้นเมื่อทำการดีบั๊กหรือใส่สไตล์หน้าคำสั่งซื้อฉันจะต้องทำคำสั่งซื้อใหม่เสมอ ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้นได้อย่างไร

30
Security Patch SUPEE-8788 - ปัญหาที่อาจเกิดขึ้น?
แพทช์รักษาความปลอดภัย Magento 1 ล่าสุด SUPEE-8788 มีการอัปเดต APPSEC 17 ชุดดังนั้นจึงเป็นสิ่งสำคัญอย่างยิ่งที่จะต้องนำไปใช้โดยเร็วที่สุด ในทางตรงกันข้ามมีความเป็นไปได้ที่จะเกิดความเข้ากันได้แบบย้อนหลังได้หลายครั้งและทำให้ประวัติศาสตร์ของการปะติดตลอดปีที่ผ่านมาฉันจะไม่ใช้มันอย่างประมาท สิ่งที่ดีคือเวลานี้ไม่มีเทมเพลตส่วนหน้าดังนั้นดูเหมือนว่าเราไม่จำเป็นต้องแก้ไขชุดรูปแบบทั้งหมดของเรา นี่เป็นจริงสำหรับ Magento 1.8 หรือสูงกว่าเท่านั้น กระนั้น: คุณประสบปัญหาความเข้ากันได้หรือข้อผิดพลาดหลังจากใช้งาน patch หรือไม่?

23
Security Patch SUPEE-9767 - ปัญหาที่อาจเกิดขึ้น?
แพทช์รักษาความปลอดภัยใหม่ออกมาสำหรับ Magento 1 โดยระบุประเด็นปัญหา APPSEC 16 เรื่อง: https://magento.com/security/patches/supee-9767 ช่องโหว่เจ็ดช่อง 8.0 หรือสูงกว่าสำหรับ CVSSv3 Severityและช่องโหว่ดังกล่าวกำลังถูกใช้งานในป่าดังนั้นนี่คือโปรแกรมแก้ไขที่สำคัญ ไซต์สามารถใช้SUPEE-9767หรืออัปเดตเป็น CE 1.9.3.3 / EE 1.14.3.3 ใหม่ มีปัญหาหรือข้อผิดพลาดอะไรบ้างที่ควรระวังเมื่อใช้ SUPEE-9767 อัพเดท 2017-07-12: Magento ได้เปิดตัวSUPEE-9767 V2และCE 1.9.3.4เพื่อแก้ไขปัญหาต่างๆจากแพตช์เริ่มต้น หากคุณใช้ V1 คุณควรย้อนกลับและใช้ V2 หากคุณยังไม่ได้ทำการแก้ไขเพียงแค่ใช้ V2 และปัญหาส่วนใหญ่ที่เกิดขึ้นที่นี่จะไม่เกี่ยวข้อง

13
วีโอไอพี core_url_rewrite ตารางใหญ่เกินไป
ฉันสังเกตเห็นรายงานจำนวนมากว่าตารางนี้สามารถกลายเป็นความยุ่งเหยิงอย่างมากฉันใช้งานไซต์ที่มี 5000 SKUs และ ~ 250 หมวดหมู่ (ร้านค้าเดียว) และcore_url_rewriteตารางผลลัพธ์มากกว่า 600,000 บรรทัดและมากกว่า 500MB ซึ่ง เป็นบ้า สิ่งนี้จะทำให้ประสิทธิภาพของไซต์ช้าลงและทำให้ฐานข้อมูลมีขนาดใหญ่มาก ฉันขุดและพบโพสต์ค่อนข้างน้อยเกี่ยวกับเรื่องนี้ที่สะดุดตาที่สุด: Core_url_rewrite ข้อผิดพลาด: จำนวน URL ที่ซ้ำกันจำนวนมากสำหรับแต่ละผลิตภัณฑ์ที่สร้างขึ้นในดัชนี Magento Commerce - การติดตามข้อผิดพลาด - ปัญหา # 29020 // ลิงก์เหล่านี้ถูกลบตั้งแต่การติดตั้งบอร์ดใหม่ ตอนนี้ฉันเข้าใจแล้วว่าตารางสามารถถูกตัดทอนและทำดัชนีใหม่ได้ แต่วิธีนี้ไม่สามารถแก้ปัญหาได้ จากสิ่งที่ฉันเข้าใจส่วนหนึ่งของปัญหาคือผลิตภัณฑ์ที่มี url key เดียวกันตามชื่อของผลิตภัณฑ์จึงทำให้มีการทำดัชนีลิงก์ การแก้ไขที่กล่าวถึงคือ: app/code/core/Mage/Catalog/Model/Url.php ในบรรทัด ~ 807: เปลี่ยนแปลง: if ($product->getUrlKey() == '' && !empty($requestPath) && ...

13
Magento 2: การเปลี่ยนสำหรับ Mage :: log method?
ในวีโอไอพี 1 ถ้าคุณต้องการที่จะส่งข้อความไปยังบันทึกคุณจะใช้วิธีการแบบคงที่ในระดับโลกMageระดับ Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); Magento 2 มีความเท่าเทียมกันหรือไม่? ฉันไปที่ไซต์ dev docs แล้วและไม่เห็นสิ่งใดที่โผล่ออกมา มีบทความInchooนี้ แต่มาจากเกือบหนึ่งปีที่ผ่านมาและมีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา ในฐานะนักพัฒนาโมดูล Magento 2 หากฉันต้องการแทนที่โค้ดดังต่อไปนี้ใน Magento 1 Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); ขั้นต่ำเปลือยที่ฉันต้องทำคืออะไร
105 magento2  log  psr-logger 

16
ไม่ได้ส่งอีเมลยืนยันคำสั่งซื้อใหม่
ฉันได้อัพเกรดเว็บไซต์เป็น 1.9.1 และตอนนี้ลูกค้าของฉันไม่ได้รับอีเมลยืนยันคำสั่งซื้อ ฉันพยายามส่งผ่านแผงการดูแลระบบ แต่ไม่มีอะไรเกิดขึ้นและยังไม่ได้รับอีเมลอัปเดต

17
Magento 1.9 ไม่สามารถเข้าสู่แผง admin ได้!
ผมได้ติดตั้งวีโอไอพี 1.9 มันทำงานได้ดีเป็นเวลาหนึ่งสัปดาห์ ทันใดนั้นเมื่อวานฉันพยายามลงชื่อเข้าใช้แผงผู้ดูแลระบบ Magento และฉันพิมพ์usernameและpasswordคลิกปุ่มลงชื่อเข้าใช้แล้วไม่มีอะไรเกิดขึ้น รีเฟรชหน้าและนั่นคือทั้งหมด ไม่มีข้อผิดพลาดหรือข้อความอื่น ๆ หากฉันป้อนชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้องจะแสดงข้อผิดพลาด หลังจากที่ฉัน googled เกี่ยวกับปัญหานี้ฉันแนะนำให้แสดงความคิดเห็นบรรทัดต่อไปนี้ใน: แอปพลิเค \ รหัส \ หลัก \ Mage \ หลัก \ รุ่น \ \ Session บทคัดย่อ \ Varien.php /* to solve login issue */ /*if (!$cookieParams['httponly']) { unset($cookieParams['httponly']); if (!$cookieParams['secure']) { unset($cookieParams['secure']); if (!$cookieParams['domain']) { unset($cookieParams['domain']); } } ...

15
ฉันจะหารายการกิจกรรมวีโอไอพีที่สมบูรณ์ได้ที่ไหน
ฉันรู้ว่า Magento มีระบบเบ็ดเหมือนที่เรียกว่าเหตุการณ์ ใครบ้างมีรายการที่สมบูรณ์หรือสคริปต์ที่สามารถใช้เพื่อกำหนดเหตุการณ์ที่สามารถเรียก?

11
ฉันจะ bootstrap Magento 2 ในสคริปต์ test.php ได้อย่างไร
ในวีโอไอพี 1 ฉันสามารถสร้างไฟล์ที่ฉันต้องการเพียงยกตัวอย่างMage_Core_Model_Appชั้นเรียนและจากนั้นฉันสามารถเพิ่มรหัส "สกปรก" ของฉันเพื่อการทดสอบ บางอย่างเช่นนี้test.php: <?php //some settings error_reporting(E_ALL | E_STRICT); define('MAGENTO_ROOT', getcwd()); $mageFilename = MAGENTO_ROOT . '/app/Mage.php'; require_once $mageFilename; Mage::setIsDeveloperMode(true); ini_set('display_errors', 1); umask(0); //instantiate the app model Mage::app(); //my toy code in here. จากนั้นฉันก็สามารถโทรหาtest.phpในเบราว์เซอร์และดูสิ่งที่ฉันทำ ฉันจะทำเช่นเดียวกันสำหรับ Magento 2 ได้อย่างไร
93 magento2  testing 

5
GIT และกลยุทธ์การปรับใช้โครงการ Magento2
ด้วย Magento 1 ฉันใช้เครื่องมือปรับใช้ที่ดึงใน repo ของ GIT รันคำสั่งเช่นนั้นmodman deploy-allและทำให้แน่ใจว่าvarไดเรกทอรีนั้นสามารถเขียนได้ สำหรับ.gitignoreฉันใช้อันนี้ซึ่งทำงานได้ค่อนข้างดี แต่แล้วMagento 2ล่ะ? gitignore ใดที่ทำงานได้ดีที่สุดคุณจะปรับใช้โครงการของคุณอย่างไรและคำสั่งใดที่ควรรันก่อนและหลังการปรับใช้ หวังว่าจะได้รับข้อมูลเชิงลึกจากชุมชน คำถามจะยังคงเปิดอยู่สักพัก
92 magento2 

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