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

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

1
อะไรคือวิธีปฏิบัติที่ดีที่สุดใน Magento 2 สำหรับการสร้างความสัมพันธ์แบบหลายต่อหลายคน?
ฉันดูรอบแกนกลางและเห็นตัวอย่างของความสัมพันธ์แบบหลายต่อหลายถึงหลายแบบ แต่ฉันไม่เห็นคำตอบที่ชัดเจนเกี่ยวกับเรื่องนี้ ตัวอย่างเช่นสมมติว่าเราสร้างโมเดลใหม่และเราต้องการมีความสัมพันธ์แบบหลายต่อหลายกับตารางผลิตภัณฑ์ที่มีอยู่ ดังนั้นเราจึงมี Model - Stockist ใหม่ของเราและเราสร้าง 2 ตารางดังกล่าวหนึ่งรายการเพื่อเก็บชื่อ Stockist และอีกรายการหนึ่งเพื่อจัดเก็บความสัมพันธ์แบบหลายต่อหลายกับผลิตภัณฑ์ คลาสการตั้งค่าที่ถูกตัดทอน: $table = $setup->getConnection() ->newTable($installer->getTable('stockist')) ->addColumn('stockist_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Stockist Id') ->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => false], 'Stockist Name'); $table = $installer->getConnection() ->newTable($installer->getTable('stockist_product')) ->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, …

1
วิธีแสดงบล็อกที่กำหนดเองในวิธีการจัดส่งให้เลือกใน Magento 2
ใช้ลิงค์อ้างอิงวิธีการเพิ่มบล็อกที่กำหนดเองที่วิธีการจัดส่งด้านล่างในการชำระเงินครั้งหน้า? ฉันสามารถสร้างบล็อคการขนส่งเพิ่มเติมได้ที่ด้านล่าง แต่ฉันต้องการแสดงเนื้อหาเท่านั้นเมื่อเลือกวิธีการจัดส่ง เมื่อลูกค้าเลือกวิธีการจัดส่งเคอร์เซอร์ควรไปที่ข้อมูลเพิ่มเติมและฟิลด์ที่กำหนดเองและผู้ใช้ควรป้อนข้อมูล เมื่อเราเลือกวิธีการจัดส่งแบบอื่นข้อมูลที่เกี่ยวข้องควรจะเกิดขึ้นถ้ามี Div อื่นควรซ่อนอยู่ เหมือนกับhttp://excellencemagentoblog.com/blog/2011/11/07/magento-advanced-shipping-method-development/ใน Magento 2 ฉันได้นำไปใช้ใน Magento 1

1
พารามิเตอร์การกำหนดค่า“ componentType” จำเป็นสำหรับส่วนประกอบ“ advanced_pricing_button” | อัพเกรด Magento 2.0.7 => 2.1.0
หลังจากปัญหามากมายฉันจัดการเพื่ออัปเดต Magento 2.0.7 => Magento 2.1.0 หลังจากตรวจสอบการอัพเกรดฉันเห็น 2 ประเด็น: 1. ส่วนหน้าไม่แสดงผลิตภัณฑ์ใด ๆ 2. เมื่อฉันต้องการแก้ไขผลิตภัณฑ์ในผู้ดูแลระบบฉันได้รับข้อผิดพลาดต่อไปนี้: 1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. #0 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false) #1 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, …

2
สร้างโมดูลพนักงานเช่นโมดูลลูกค้าใน magento 2
ฉันได้สร้างโมดูลพนักงาน เช่นเดียวกับโมดูลลูกค้า ผมได้คัดลอกไฟล์ทั้งหมดจากการvendor/magento/module-customer app/code/Magento/Employeeฉันแทนที่ลูกค้ากับพนักงาน แต่มันแสดงข้อผิดพลาด: 'InvalidArgumentException' พร้อมข้อความ 'คาดว่าจะมีชื่อคงที่ และ [InvalidArgumentException] ไม่มีคำสั่งที่กำหนดในเนมสเปซ "ตั้งค่า" ของฉันmodule.xmlอยู่ในapp/Code/Magento/Employee/etcโฟลเดอร์ <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Magento_Employee" setup_version="2.0.6"> <sequence> <module name="Magento_Eav"/> <module name="Magento_Directory"/> </sequence> </module> </config> ใครช่วยบอกฉันทีว่าฉันจะแก้มันได้อย่างไร? My.xmlของฉัน <?xml version="1.0"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ …
15 magento2  module 

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

1
Magento2: ฉันจะลบล้าง core js module price-box.js ได้อย่างไร
Magento_Catalog/js/price-box.jsฉันต้องการที่จะขยาย ฉันได้ใช้คุณลักษณะ 'mixins' price-box.jsแต่ก็ไม่ได้ทำงานให้ requirejs-config.js: var config = { config: { mixins: { 'Magento_Catalog/js/price-box': { 'My_Module/js/price-box/pluggin': true } } } }; My_Module/view/frontend/web/js/price-box/pluggin.js define(function () { 'use strict'; return function (target) { // modify target var reloadPrice = target.reloadPrice; target.reloadPrice = function() { cosole.log("hello"); }; return target; }; });

4
การตั้งค่าแบบวีโอไอพี: ข้อผิดพลาดในการอัปเกรด“ ขาดการกำหนดค่าการปรับใช้”
เมื่อฉันพยายามอัพเกรด Magento 2 php bin/magento setup:upgradeฉันจะได้รับ ฉันเข้าใจ [Magento \ Setup \ Exception] ไม่สามารถเรียกใช้การดำเนินการนี้: การกำหนดค่าการปรับใช้ขาดไป เรียกใช้ 'การตั้งค่า magento: config: set --help' สำหรับตัวเลือก การตั้งค่า: การอัพเกรด [--keep-created] [--magento-init-params = "... "] จะแก้ไขได้อย่างไร? การอัพเดตโดยใช้ updater ของเว็บมีข้อผิดพลาดดังต่อไปนี้: ฉันถามผู้ให้บริการโฮสต์ของฉันเพื่อแก้ไขพวกเขาและพวกเขาติดตั้ง php เวอร์ชั่น 5.6 ที่ถูกต้องและส่วนขยายทั้งหมดที่แนะนำโดย magento และสร้างงาน cronแต่ฉันยังคงเห็นข้อผิดพลาด ปรับปรุง: (จากความคิดเห็น) env.phpไม่ได้อยู่ที่นั่นเมื่อฉันเรียกใช้magento setup:config:setฉันได้รับข้อผิดพลาดนี้: $ bin / magento setup: config: …
15 magento2  upgrade 

2
ลบองค์ประกอบ UI ลูกผ่าน Layout XML
ฉันจะลบองค์ประกอบลูก UI ผ่าน Layout XML ได้อย่างไร ยกตัวอย่างเช่นจากคำสั่ง XML checkout_index_index.xmlด้านล่าง ฉันจะลบโหนดการจัดส่งได้อย่างไร <item name="sidebar" xsi:type="array"> <item name="children" xsi:type="array"> <item name="summary" xsi:type="array"> <item name="children" xsi:type="array"> <item name="totals" xsi:type="array"> <item name="children" xsi:type="array"> <item name="subtotal" xsi:type="array"> <item name="config" xsi:type="array"> <item name="title" xsi:type="string" translate="true">Subtotal</item> </item> </item> <item name="shipping" xsi:type="array"> <item name="config" xsi:type="array"> <item name="title" xsi:type="string" translate="true">Estimated …


8
Magento 2 Class * Factory ไม่มีอยู่
ฉันพยายามติดตั้งปลั๊กอินและฉันลบ var / generation และ var / cache / * ฉันได้ตรวจสอบ MAGE_MODE และฉันอยู่ในนักพัฒนา แต่ตอนนี้เมื่อฉันเข้าถึงส่วนหน้าและผู้ดูแลระบบฉันได้รับข้อผิดพลาดแบบสุ่มที่บอกว่าหมายถึงสิ่งต่าง ๆ เช่น: Class Magento\Customer\Model\CustomerFactory does not exist ระดับวีโอไอพี \ ขาย \ รุ่น \ ResourceModel \ รายงาน \ OrderFactoryไม่อยู่ บางคลาสกำลังถูกสร้าง แต่ไม่ใช่ทั้งหมด ฉันพยายามล้างแคชอีกครั้งและโฟลเดอร์สร้าง แต่แล้วฉันก็พบข้อผิดพลาดเดียวกัน ความคิดใด ๆ
15 magento2 

4
ฉันจะรับผลิตภัณฑ์ปัจจุบันใน Magento2 ได้อย่างไร
ฉันพยายามดึงคุณสมบัติของผลิตภัณฑ์ปัจจุบันในบล็อกใน Magento 2 ฉันสามารถรับผลิตภัณฑ์เช่น id 1: $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product = $objectManager->create('\Magento\Catalog\Model\ProductRepository')->getById(1); ฉันไม่ทราบวิธีรับรหัสผลิตภัณฑ์ปัจจุบัน ฉันจะทำอย่างไร
15 magento2  product 

2
การตั้งค่าเส้นทางผู้ดูแลระบบใน Magento 2
ดูรหัสหลักของ Magento 2 ดูเหมือนว่ามีสองวิธีในการตั้งค่าเส้นทางผู้ดูแลระบบ ครั้งแรก #File: vendor/magento/module-media-storage/etc/adminhtml/routes.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> <router id="admin"> <route id="adminhtml"> <module name="Magento_MediaStorage" /> </route> </router> </config> คล้ายกับ Magento 1. คุณเพิ่มโมดูลของคุณไปยังรายการโมดูลในadminhtmlเส้นทางและ Magento ตรวจสอบให้คุณ ที่สอง #File: vendor/magento/module-cms/etc/adminhtml/routes.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> <router id="admin"> <route id="cms" frontName="cms"> <module name="Magento_Cms" before="Magento_Backend" /> </route> </router> </config> คุณได้ตั้งค่าเส้นทางใหม่ (ID cmsด้านบน) แล้วเพิ่มโมดูลของคุณลงไป เป็นหนึ่งในวิธีที่ "ถูกต้อง …
15 magento2  php  xml  router 

3
ทำไม Magento 2 ถึงมี 2 โฟลเดอร์รูทที่เป็นไปได้?
ฉันพยายามที่จะเข้าใจว่าMagento 2ทำงานอย่างไร ฉันเห็นสิ่งที่ทำให้ฉันสับสน Magento 2มี 2 โฟลเดอร์รากที่เป็นไปได้ : /path/to/magento2/index.php /path/to/magento2/pub/index.php หนึ่งอยู่ในระดับสูงสุดของโฟลเดอร์การจัดจำหน่ายของ Magento 2 อันที่สองอยู่ในโฟลเดอร์“ pub” หากฉันตั้งค่า URL พื้นฐานเป็นหนึ่งในนั้นวีโอไอพีก็ทำงานได้อย่างสมบูรณ์ ทุกคนสามารถอธิบายได้หรือไม่ว่าทำไม Magento 2 ถึงใช้รูทโฟลเดอร์ 2 แบบนั้น
15 magento2  index 

5
โครงสร้างที่ต้องการของโครงการ Magento 2 ภายใต้ VCS คืออะไร?
เมื่อฉันเริ่มโครงการ M2 ใหม่สิ่งแรกที่ฉันจะทำคือติดตั้งคอร์ผ่านทางผู้แต่ง: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition ตอนนี้ฉันสามารถเขียนโมดูลและธีมที่กำหนดเองของฉันapp/codeได้ที่ด้านล่าง ฉันจะเพิ่มโฟลเดอร์ของฉันcomposer.*และapp/codeโฟลเดอร์ทั้งหมดลงใน VCS ของฉัน จนถึงทุกอย่างก็โอเค สมมติว่าตอนนี้ฉันต้องการใช้เครื่องมือสร้างสำหรับโครงการของฉันสมมติว่า Grunt หรืออึก ถ้าฉันทำเองGruntfile.jsสิ่งนี้จะถูกเขียนทับโดยmagento/magento2-baseแพ็คเกจเมื่อฉันวิ่งcomposer installหลังจากฉันลอกแบบ repo ถ้าฉันกระทำของฉันgulpfile.jsฉันไม่สามารถจริงๆกำหนดอ้างอิงของฉันในเพราะมันก็จะถูกเขียนทับโดยpackage.jsonmagento/magento2-base ถ้าผมตัดสินใจที่จะใช้การตั้งค่าฮึดฮัดวีโอไอพีและต้องการปรับแต่งได้โดยการแก้ไขไฟล์ที่อยู่ภายใต้/dev/tools/grunt(เช่นthemes.js) magento/magento2-baseผมไม่ได้เพราะการเปลี่ยนแปลงของฉันจะถูกเขียนทับโดย ความเข้าใจของฉันคือคุณไม่สามารถทำอะไรได้มากในรูทเอกสารของคุณ มีวิธีแก้ไขปัญหานี้มากมาย: ฉันสามารถเรียกใช้งานได้git checkout -ทันทีหลังจากการติดตั้งเพื่อรีเซ็ตไฟล์ของฉันเอง ฉันจะเก็บสร้างไฟล์ของฉันในโฟลเดอร์เฉพาะ/buildตัวอย่างเช่น ฉันสามารถใช้เครื่องมือสร้างที่แตกต่างกันเช่น Phing, Ant หรือ Rake (ส่วนหน้าของฉันจะไม่มีความสุขเลย) ฉันสามารถแทนที่magento/magento2-baseด้วยแพ็คเกจแบบกำหนดเองที่มีการแมปแบบกำหนดเองสำหรับไฟล์หลัก (ไม่ดีที่สุด แต่จริงๆแล้วมันเป็นตัวเลือก) ฉันไม่ชอบตัวเลือกทั้งหมดเหล่านี้เป็นการส่วนตัวดังนั้นฉันจึงอยากทราบว่ามีวิธีที่ต้องการหรือดีกว่าเพื่อให้บรรลุสิ่งที่ฉันพยายามทำ ทุกคนมีปัญหาเดียวกันหรือไม่ คุณแก้ปัญหาอย่างไร คุณจัดโครงสร้างโครงการภายใต้ VCS อย่างไร UPDATE จุดพิเศษที่เกี่ยวข้องกับการตั้งค่าโครงการ ในการทดลองของฉันฉันสังเกตเห็นว่าตัวติดตั้งตัวแต่ง Magento มีการตั้งค่าสถานะสำหรับการแทนที่ไฟล์: "extra": { "magento-force": …

5
Magento 2: วิธีการตั้งค่าแม่แบบกำหนดเองสำหรับบล็อกหลัก
ฉันพยายามที่จะแทนที่ register.phtml ในโมดูลของฉัน แต่ดูเหมือนว่ามีปัญหาการกำหนดค่าบางอย่างที่ทำให้วีโอไอพีไม่สามารถใช้เทมเพลตที่กำหนดเองของฉันเพื่อแทนที่หนึ่งในโมดูลหลัก ฉันตรวจสอบรหัสแล้ว แต่ไม่พบปัญหา ใครช่วยได้บ้าง ขอบคุณล่วงหน้า. module.xml: <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Namespace_ModuleName" setup_version="0.0.2"> <sequence> <module name="Magento_Customer"/> </sequence> </module> </config> customer_account_create.xml ภายใต้ Namespace \ ModuleName \ view \ frontend \ layout: <?xml version="1.0"?> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd"> <referenceBlock name="customer_form_register"> <arguments> <argument name="template" xsi:type="string">Namespace_ModuleName::form/register.phtml</argument> </arguments> </referenceBlock> </layout> composer.json: { "name": "namespace/module-modulename", …

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