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

คำถามทั่วไปเกี่ยวกับ Magento 2 ไม่ใช่เฉพาะรุ่นรอง ใช้แท็กนี้เพื่อแยกความแตกต่างจาก Magento 1. หากคุณมีปัญหากับรุ่นที่เฉพาะเจาะจงโปรดใช้แท็ก 'Magento-2.x' ที่เหมาะสมแทน ฟังก์ชันการทำงานระหว่าง Magento 2 รุ่นรองอาจแตกต่างกัน

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 …

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 

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 

4
คำอธิบายของ UI Component Grid ใน Magento 2
จำเป็นต้องมีการอธิบายที่ดีและ / หรือตัวอย่างของการกำหนดค่าขั้นต่ำเปล่าเพื่อสร้าง UI Component Grid ใน Magento 2 หรือไม่? ฉันรู้ว่ามีองค์ประกอบหลักมากมายเช่น ./vendor/magento/module-catalog/view/adminhtml/ui_component/product_listing.xml อย่างไรก็ตามไฟล์ XML เหล่านี้กว้างขวางและมีคำอธิบายเล็กน้อยเกี่ยวกับสิ่งที่แต่ละโหนดทำและวิธีที่คุณใช้ในการสร้างกริดจากศูนย์ นอกจากนี้ยังมีโมดูลตัวอย่างนี้แต่มัน ดูเหมือนจะเป็นแบบฟอร์ม ไม่มีบริบท / คำอธิบายใด ๆ เกี่ยวกับสิ่งที่แต่ละโหนดทำ ฉันกำลังมองหาข้อมูล "เริ่มต้นใช้งาน" ที่จะให้ฉันสร้างกริดสำหรับคอลเลกชันโมเดล CRUD ของฉันเอง

11
การทำดัชนี Magento 2 Reindexing - ดัชนีอย่างน้อยหนึ่งรายการไม่ถูกต้อง ตรวจสอบให้แน่ใจว่างาน cron Magento ของคุณทำงานอยู่
ฉันไม่สามารถหาวิธีที่จะทำดัชนีใหม่ในการดำเนินการจำนวนมากในวีโอไอพี 2 ดูเหมือนว่าคุณจะต้องเรียกใช้จาก cronjob มีวิธีอื่นในการทำดัชนีข้อมูลใหม่ใน magento 2 จากแบ็กเอนด์หรือบรรทัดคำสั่งเหมือนกับที่เคยเป็นใน Magento 1.x ( php shell/indexer.php -reindexall) หรือไม่?
78 magento2  reindex  cli 

5
เมื่อใดที่เราควรใช้ที่เก็บและโรงงานใน Magento 2
ฉันได้ผ่านบทช่วยสอนใน Magento 2 และสิ่งนี้ทำให้ฉันสับสนเล็กน้อย ฉันเห็นว่ามีสองวิธีที่เราสามารถอ่าน / เขียนเอนทิตีธุรกิจได้: ดึงข้อมูล ใช้วิธีการจากโรงงาน $object = $this->myFactory->create(); $object->load($myId); การใช้วิธีการเก็บข้อมูล $repo = $this->myRepository(); $object = $repo->getById($myId); บันทึกข้อมูล ใช้วิธีการจากโรงงาน $object = $this->myFactory->create(); $object->load($myId); $object->setData('something', 'somethingDifferent')->save(); การใช้วิธีการเก็บข้อมูล $repo = $this->myRepository(); $object = $repo->getById($myId); $object->setData('something', 'somethingDifferent'); $repo->save($object); ฉันยังสามารถเห็นว่าทั้งพื้นที่เก็บข้อมูลและชั้นโรงงานสามารถฉีดโดยใช้การฉีดพึ่งพา อย่างน้อยก็ทำให้ฉันสับสน เมื่อใดที่เราควรใช้วิธีการจัดเก็บและวิธีการจากโรงงาน? การปฏิบัติที่ดีที่สุดที่เราต้องทำคืออะไร?

13
Magento พร้อมสำหรับ PHP 7 แล้วหรือยัง?
PHP 7 กำลังเข้าสู่สถานะเบต้าและมีการทดสอบมากมายเกิดขึ้นในขณะนี้ เนื่องจาก Magento ติดตั้งภายในปีที่แล้วจาก "ทำงานเฉพาะบน PHP 5.3" ถึง "เข้ากันได้อย่างสมบูรณ์กับ PHP 5.6" ฉันต้องการทราบว่าพวกเขากำลังพิจารณาความเข้ากันได้ของ PHP 7 สำหรับ Magento 1.x และ Magento 2 มากเพียงใด ฉันพบโพสต์นี้โดย Anna Filinaซึ่งเธอพบปัญหาหนึ่งใน Magento 1.9.1 (ยังคงไม่เปลี่ยนแปลงใน 1.9.2) แต่เนื่องจาก Magento 1 ไม่มีการทดสอบหน่วยฉันไม่เชื่อว่านี่เป็นปัญหาเดียว ดังนั้นคำถามคือ: PHP 7 จะใช้งานร่วมกับ Magento 1 ได้หรือไม่ และเนื่องจาก Magento 2 อาจได้รับการทดสอบบน PHP 7 แล้ว (ขอบคุณการทดสอบอัตโนมัติ!) จะมีปัญหาที่ทราบบ้างหรือไม่?

2
Magento 2 @escapeNot ยืนยันแล้ว
ฉันเห็นความคิดเห็นนี้เกิดขึ้นมากมาย/* @escapeNotVerified */ในไฟล์เทมเพลตสำหรับ Magento2 มันมีความหมายพิเศษหรือไม่? มีประโยชน์สำหรับสิ่งนี้หรือไม่? ตัวอย่าง: https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml#L23 https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/image_with_borders.phtml#L10 https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/gallery.phtml#L12 ฉันสามารถไปที่หน้าไม่กี่ที่นี่

7
Magento 2 วิธีปลดล็อกกระบวนการทำดัชนีใหม่
ฉันกำลังทำการทดสอบบางอย่างในกระบวนการทำดัชนีคุณภาพเยี่ยมของ Magento และฉันล็อคกระบวนการดัชนีหุ้น ฉันจะปลดล็อกกระบวนการนี้ได้อย่างไร Design Config Grid index has been rebuilt successfully in 00:00:02 Customer Grid index has been rebuilt successfully in 00:00:03 Category Products index has been rebuilt successfully in 00:00:00 Product Categories index has been rebuilt successfully in 00:00:00 Product Price index has been rebuilt successfully in 00:00:00 …

18
วิธีการตรวจสอบว่าลูกค้าเข้าสู่ระบบหรือไม่ในวีโอไอพี 2?
จะค้นหาได้อย่างไรว่าลูกค้าเข้าสู่ระบบหรือไม่อยู่ใน Magento 2 หากลูกค้าเข้าสู่ระบบแล้วจะรับข้อมูลลูกค้าจากเซสชันอย่างไร

12
การอนุญาตให้ใช้โฟลเดอร์ / ไฟล์ Magento 2
ฉันสงสัยว่าการอนุญาตอาจทำให้เกิดความสับสนในการติดตั้ง Magento 2 ของฉัน ในรุ่นเก่าฉันจะเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างโฟลเดอร์ 755 และไฟล์ 644: find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \; คุณช่วยบอกฉันทีว่าไฟล์และโฟลเดอร์ที่ถูกต้องสำหรับ Magento 2 มีความแตกต่างกันอย่างไร? นอกจากนี้หากมีบางโฟลเดอร์หรือไฟล์บางไฟล์ที่ต้องการสิทธิ์ที่แตกต่างกัน

17
พารามิเตอร์ที่ต้องการ 'theme_dir' ไม่ถูกส่งผ่าน
ข้อความแสดงข้อผิดพลาดคืออะไร: พารามิเตอร์ที่ต้องการ 'theme_dir' ไม่ถูกส่งผ่าน มันเกี่ยวข้องกับใน Magento 2 หรือไม่? และปัญหานี้จะแก้ไขได้อย่างไร?

4
วิธีการบันทึกและโหลดที่ไม่สอดคล้องในรูปแบบนามธรรม
ฉันเห็นว่าในแผนกพัฒนาของ Magento 2 repo วิธีการloadและsaveจากMagento\Framework\Model\AbstractModelชั้นเรียนเลิกใช้แล้ว แต่มีการเรียนการ gazillion ในหลักที่ขยายชั้นนี้และใช้และsave เมื่อสร้างโมดูลของตัวเองสำหรับส่วน CRUD ของเอนทิตีของฉันฉันทำตามแนวทางเดียวกันกับที่เป็นโมดูลหลัก แต่เนื่องจากวิธีการเหล่านี้เลิกใช้แล้วฉันจึงควรเตรียมพร้อมสำหรับอนาคต ฉันควรใช้อะไรแทนพวกเขา หรือฉันควรขยายอย่างอื่น?load

8
วิธีสร้างไฟล์บันทึกที่กำหนดเองใน Magento 2
ใน Magento 1 เป็นเรื่องปกติที่จะแบ่งเซ็กเมนต์บันทึกเป็นไฟล์ต่าง ๆ (เพื่อแยกบันทึกสำหรับวิธีการชำระเงิน ฯลฯ ) นั่นเป็นเรื่องง่ายเหมือนการเปลี่ยนพารามิเตอร์ของ$fileMage::log Magento 2 ได้เปลี่ยนไปใช้ Monolog ปรากฏว่า Monolog (หรือการใช้งานของ Magento2) จัดกลุ่มบันทึกทั้งหมดสำหรับกรอบทั้งหมดเพื่อจัดการโดยความรุนแรง มีตัวจัดการสองสามตัวที่เขียนไปยังไฟล์: \Magento\Framework\Logger\Handler\Debug, \Magento\Framework\Logger\Handler\Exception,\Magento\Framework\Logger\Handler\System การบันทึกไฟล์ตามลำดับในvar / logเช่นเดียวกับ Magento 1 ฉันสามารถเพิ่มตัวจัดการสำหรับความรุนแรงโดยเฉพาะ (IE, เขียนประกาศvar/log/notice.log) ขยายและลงทะเบียนในการจัดการ\Magento\Framework\Logger\Handler\Basedi.xml บทความนี้อธิบายกระบวนการอย่างคร่าว ๆ : http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912 แต่ฉันจะไปเกี่ยวกับการเขียนบันทึกทั้งหมด (ไม่เพียงแค่ความรุนแรงเพียงอย่างเดียว) สำหรับหนึ่งคลาส (ไม่ใช่ Magento ทั้งหมด) ไปยังไฟล์ที่ฉันเลือกได้อย่างไร ดูเหมือนว่าฉันจะต้องสร้างเวอร์ชันของตัวเองMagento\Framework\Logger\Monologแต่แล้วทุกอย่างเข้ากันได้อย่างไรเพื่อให้ใช้งานได้จริง หากนี่เป็นเกม no-no ที่ยิ่งใหญ่ใน Magento 2 แล้วทางเลือกคืออะไร? ฉันต้องการบางสิ่งบางอย่างเพื่อแยกบันทึกสำหรับส่วนขยายนี้เพื่อจุดประสงค์ในการดีบั๊กเมื่อจำเป็นในเว็บไซต์ของลูกค้า การมีข้อมูลนั้นถูกเขียนไปยัง …
57 magento2  log  logging 

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