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

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


8
วิธีการใช้ repo.magento.com ใหม่
ฉันสร้างรหัส Magento Connect ใหม่ตามคำแนะนำของนักพัฒนาซอฟต์แวร์แล้ว ฉันควรใช้คีย์นี้อย่างไร เช่นถ้าฉันลองรับข้อมูลฉันเห็นสิ่งต่อไปนี้ $ composer info magento/sample-data Authentication required (repo.magento.com): Username: หากฉันลองทำตามคำแนะนำในการติดตั้งใหม่ฉันจะได้สิ่งนั้นเหมือนกัน $ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2 Authentication required (repo.magento.com): Username: เป็นรหัสผ่านของฉันหรือไม่ ถ้าเป็นเช่นนั้นชื่อผู้ใช้คืออะไร? หากคีย์เป็นคีย์จริง (เช่นไม่จำเป็นต้องใช้ชื่อผู้ใช้ / รหัสผ่าน) ฉันจะกำหนดค่าคีย์ได้ที่ไหน

7
การหมดเวลาเซสชันของแบ็กเอนด์ Magento 2
ใน Magento 1.x การหมดเวลาเซสชันของแบ็กเอนด์ถูกตั้งค่าผ่าน: Backend -> System -> Configuration -> Admin -> Security -> Session Lifetime (seconds) เริ่มแรกคำถามของฉันคือวิธีการตั้งค่านี้ใน Magento 2.0 แต่เห็นได้ชัดว่ามีความแตกต่างระหว่าง Magento 2.0 และ Magento 2.1 สำหรับ Magento 2.0: Arkadii Chyzhov ได้ชี้ให้เห็นวิธีการตั้งค่านี้ (ดูด้านล่าง) สำหรับ Magento 2.1: fschmengler ได้แนะนำวิธีแก้ไขปัญหา (ดูด้านล่าง) อย่างไรก็ตาม M 2.1 ดูเหมือนว่าจะไม่ให้โซลูชันที่ตรงไปตรงมาผ่านทางแบ็กเอนด์ ใครสามารถคิดวิธีแก้ปัญหาเพิ่มเติมสำหรับ M 2.1 ได้หรือไม่?

3
เรียกใช้การทดสอบสำหรับโมดูลเฉพาะใน Magento2
การทำแบบทดสอบเพื่อวีโอไอพีเพื่อใช้นั้นphp bin/magento dev:tests:runใช้เวลานานมาก มีวิธีเรียกใช้การทดสอบสำหรับโมดูลเฉพาะเท่านั้นหรือไม่ ฉันเป็นคนที่ไม่มีการทดสอบ (หน่วย) ดังนั้นจึงมีความเมตตา

6
Magento 2: การเปลี่ยนเทมเพลตของบล็อก
ใน Magento 1 ในฐานะนักพัฒนาโมดูลคุณสามารถเปลี่ยนเทมเพลตของบล็อกโดยใช้โค้ด XML ของเลย์เอาต์แบบนี้ <reference name="block_to_change"> <action method="setTemplate"> <param>/path/to/template.phtml</param> </action> </reference> จากนั้นเพิ่มแม่แบบของคุณไปยังชุดรูปแบบพื้นฐาน app/design/frontend/base/default/template/path/to/template.phtml เป็นไปได้ว่าในฐานะผู้พัฒนาโมดูลเพื่อทำสิ่งที่คล้ายกันใน Magento 2? หรือฉันจะต้องใช้เลย์เอาต์ XML หรือโค้ด PHP เพื่อลบบล็อกที่ฉันสนใจและแทรกบล็อกใหม่ด้วยเทมเพลตอื่น (ซึ่งคลาสจะขยายคลาสบล็อกเดิม) ฉันรู้ว่าฉันสามารถสร้างชุดรูปแบบที่กำหนดเองที่แทนที่แม่แบบได้ แต่ฉันสนใจที่จะสร้างโมดูลที่เปลี่ยนแม่แบบเริ่มต้น แต่ก็ยังอนุญาตให้ใช้ธีมที่กำหนดเองแทนแม่แบบนั้นได้

16
Magento2: สร้างไฟล์ css อีกครั้งในโฟลเดอร์ pub / static
ฉันได้ติดตั้ง Magento 2 และตั้งโหมดผู้พัฒนาแล้วฉันได้ติดตั้งหนึ่งโมดูลที่มีไฟล์ css และ js โมดูลทำงานได้ดีและไฟล์ css และ js แสดงผลจากโฟลเดอร์ pub / static ตอนนี้ฉันได้ทำการเปลี่ยนแปลง CSS ในไฟล์ css ไดเรกทอรีโมดูลและเรียกใช้คำสั่ง php bin/magento setup:static-content:deploy แต่วีโอไอพีไม่ได้ทำการเปลี่ยนแปลงใหม่ของฉันในไฟล์ pub / static css ดังนั้นฉันจึงได้รับเนื้อหาไฟล์ css เก่า ไม่มีใครรู้วิธีการสร้างไฟล์ css ใหม่ทั้งหมดในโฟลเดอร์ pub / static?

8
วิธีการแทนที่ Core Block รุ่นและคอนโทรลเลอร์ใน Magento2
ฉันติดอยู่ที่การเอาชนะ core model Blocks และ controllers ใน Magento2 มีใครช่วยได้บ้าง ลองมาแถบเครื่องมือรายการเป็นตัวอย่างที่ผมต้องเพิ่มตัวเลือกการเรียงใหม่ที่เรียกว่าเรียงลำดับตามความนิยมมากที่สุด ฉันจะเพิ่มได้อย่างไร ฉันเดาว่าเราจำเป็นต้องเพิ่มตัวเลือกในระดับบล็อกและเงื่อนไขในList.phpระดับการรวบรวม

4
Magento 2: ส่วนลูกค้า / section.xml ทำงานอย่างไร
ฉันเพิ่งเข้ามามีแนวคิดใหม่ใน Magento 2 ที่ฉันพบว่าน่าสนใจ: ส่วนลูกค้า คุณบางคนอาจสังเกตเห็นการปรากฏตัวของsections.xmlไฟล์ที่มีลักษณะเช่นนี้: <?xml version="1.0"?> <!-- /** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd"> <action name="sales/guest/reorder"> <section name="cart"/> </action> <action name="sales/order/reorder"> <section name="cart"/> </action> </config> จากสิ่งที่ฉันเข้าใจไฟล์เหล่านั้นจะระบุส่วนของลูกค้าที่ควรได้รับการอัปเดตเมื่อเรียกการกระทำที่เกี่ยวข้อง ฉันสังเกตเห็นตัวอย่างเช่นMagento/Checkout/etc/frontend/sections.xmlในส่วนต่อไปนี้: <action name="checkout/cart/add"> <section name="cart"/> </action> นี่คือสิ่งที่กระตุ้นให้เกิดการอัพเดตมินิมาร์ทหลังจากที่คุณเพิ่มผลิตภัณฑ์ลงในรถเข็น ฉันพยายามสร้างโมดูลที่กำหนดเองด้วยetc/frontend/sections.xmlไฟล์ต่อไปนี้เพื่อทดสอบคุณสมบัตินั้น: <?xml …

3
Magento 2 เป็นวิธีแก้ปัญหาแบบไร้หัว
ฉันต้องการทราบว่ามีวิธีปฏิบัติที่ดีที่สุดในการใช้Magento 2 เป็นโซลูชันอีคอมเมิร์ซที่ไม่มีหัวหรือไม่ อีคอมเมิร์ซทั่วไปในปี 2560 คือการมีโซลูชันช่องทาง omni ซึ่งรวมถึง อีคอมเมิร์ซ CMS หลากหลาย การรวมระบบระดับ (ERP, ... ) ฉันต้องการทราบว่าเกี่ยวข้องกับ Magento 2 API กับโซลูชันประเภทนี้อย่างไร แนวทางของฉัน: ใช้เฟรมเวิร์กส่วนหน้าอื่น (เช่นเชิงมุม) สำหรับเดสก์ท็อป / มือถือ webapp และแอพมือถือ ใช้ Magento 2 API เท่านั้นเพื่อดึงหรือโต้ตอบกับข้อมูล / การกระทำของอีคอมเมิร์ซ ใช้ CMS API เพื่อดึงข้อมูล CMS เท่านั้น Pro:เฉพาะของ API, omnichannel ข้อด้อย:ข้อ จำกัด ด้านประสิทธิภาพ / คุณสมบัติ / …

3
Magento2: ความแตกต่างพื้นฐานระหว่างปลั๊กอินและการตั้งค่าคืออะไร?
ฉันใช้ทั้งปลั๊กอินและการตั้งค่าในการกวดวิชา magento2 และทั้งสองทำงานได้ดี แต่สิ่งที่แตกต่างพื้นฐานระหว่างพวกเขาคือ รหัสสำหรับปลั๊กอิน: 1.1) เพิ่มการประกาศปลั๊กอินใน di.xml: <type name="Magento\Catalog\Model\Product"> <plugin name="magento-catalog-product-plugin" type="Training\Test\Model\Product" sortOrder="10"/> </type> 1.2) สร้างคลาสปลั๊กอิน: <?php namespace Training\Test\Model; class Product { public function afterGetPrice(\Magento\Catalog\Model\Product $product, $result) { return 5; } } รหัสสำหรับการตั้งค่า: 2.1) สร้างการประกาศค่ากำหนด: <preference for="Magento\Catalog\Model\Product" type="Training\Test\Model\Testproduct" /> 2.2) สร้างคลาสสินค้าใหม่: <?php namespace Training\Test\Model; class Testproduct extends \Magento\Catalog\Model\Product { …

11
ปัญหา 'ไม่ได้ตั้งรหัสพื้นที่' ในคำสั่ง CLI ที่กำหนดเองใน Magento 2
ฉันพบข้อผิดพลาดขณะอัปเดตข้อมูลผ่าน CustomerRepositoryInterface [Magento\Framework\Exception\SessionException] Area code not set: Area code must be set before starting a session. [Magento\Framework\Exception\LocalizedException] Area code is not set ต่อไปนี้เป็นdi.xmlไฟล์ของฉัน <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Framework\Console\CommandList"> <arguments> <argument name="commands" xsi:type="array"> <item name="test1_command" xsi:type="object">Test\Module\Console\Command\Test1Command</item> <item name="test2_command" xsi:type="object">Test\Module\Console\Command\Test2Command</item> </argument> </arguments> </type> </config>

2
Magento Event Observers: Singleton กับ Model
ดังนั้นวีโอไอพีจึงเสนอวิธีการประกาศผู้สังเกตการณ์ 2 วิธี Singleton and Model (ตัวอย่างใหม่) โดยการระบุ<type>แท็กใน Magento 1.x และโดยการระบุsharedแอตทริบิวต์ใน Magento 2 Magento วิธีที่ 1 ในการทำมัน <events> <event_name> <observers> <unique_observer_name> <type>model|object|singleton|null</type> <class>class/alias_here</class> <method>methdNameHere</method> </unique_observer_name> </observers> </event_name> </events> Magento 2 เวอร์ชั่น: <event name="event_name"> <observer name="unique_observer_name" instance="Class\Name\Here" method="methodNameHere" shared="true|false" /> </event> ดังนั้นในกรณีของวีโอไอพี 1, ถ้า<type>แท็กเป็นรูปแบบหรือวัตถุชั้นจะ instantiated Mage::getModel()กับ ถ้ามันหรือมันหายไปมันถูกสร้างโดยใช้singletonMage::getSingleton() ในกรณีของ Magento 2 ถ้าsharedเป็นเช่นfalseนั้นคลาสจะถูกสร้างโดยใช้$this->_observerFactory->create() …

16
Security Patch SUPEE-10570 - ปัญหาที่เป็นไปได้หรือไม่
Magento เปิดตัวแพตช์รักษาความปลอดภัยใหม่สำหรับ M1 และอัปเดตสำหรับ M1 และ M2 ฉันควรระวังปัญหาอะไรบ้างเมื่ออัปเกรดหรือใช้งานโปรแกรมแก้ไขนี้ สุภี-10570 SUPEE-10570, Magento Commerce 1.14.3.8 และ Open Source 1.9.3.8 มีการปรับปรุงความปลอดภัยหลายอย่างที่ช่วยปิดการเรียกใช้รหัสระยะไกล (RCE) การเขียนสคริปต์ข้ามไซต์ (XSS และปัญหาอื่น ๆ ) การเผยแพร่เหล่านี้ยังรวมถึงการแก้ไขการทำงานขนาดเล็ก บันทึกประจำรุ่น MAGENTO 2.2.3, 2.1.12 และ 2.0.18 การปรับปรุงความปลอดภัย Magento Commerce และ Open Source 2.2.3, 2.1.12 และ 2.0.18 มีการปรับปรุงความปลอดภัยหลายอย่างที่ช่วยปิด Cross-Site Scripting (XSS), การรับรองรหัสผู้ใช้ Admin (RCE) และช่องโหว่อื่น ๆ …

13
ฉันจะตั้งค่าโหมดผู้พัฒนาได้อย่างไรใน Magento 2
ฉันกำลังพยายามติดตั้ง Magento 2 แต่ฉันได้รับข้อผิดพลาดดังต่อไปนี้: เกิดข้อผิดพลาดระหว่างการเรียกใช้แอปพลิเคชัน ไม่สามารถเขียนข้อความแสดงข้อผิดพลาดเพื่อเข้าสู่ระบบ โปรดใช้โหมดนักพัฒนาซอฟต์แวร์เพื่อดูข้อความ ฉันได้พยายามเพิ่มSetEnv MAGE_MODE developerเพื่อ.htaccessเป็นคำแนะนำจากอลันพายุ http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-modeแต่ไม่มีโชค

1
Magento 2 Adminhtml การกระจายแบบฟอร์มในหลายแท็บ
ฉันกำลังพยายามสร้างโมดูลแบ็กเอนด์ซึ่งในหน้าแก้ไขของฉันฉันใช้admin-2column-leftเลย์เอาต์ ฉันต้องการมีแบบฟอร์มในแต่ละแท็บ แต่ฉันไม่เข้าใจว่าฉันจะทำสิ่งนี้ได้อย่างไร โดยหลักการแล้วฉันต้องการทราบวิธีการกำหนดฟอร์มuiComponentsที่แตกต่างให้กับแท็บที่แตกต่างกันหรือฉันจะกำหนดหนึ่งuiComponentสำหรับฟอร์มของฉันได้อย่างไร แต่สามารถกำหนดชุดฟิลด์ใดให้ไปที่แท็บใดได้บ้าง สถานการณ์เฉพาะของฉันซึ่งกระตุ้นคำถามนี้คือฉันต้องการมีแบบฟอร์มมาตรฐานในแท็บหนึ่ง (อินพุตข้อความหลายรายการ) และอีกแท็บหนึ่งฉันต้องการมีdynamicRowsองค์ประกอบ UI เราได้เรียกแท็บเหล่านี้เป็นรายการหลักและรายการโฆษณา ขณะนี้ฉันกำลังดำเนินการดังต่อไปนี้: หลักถูกกำหนดไว้ใน_prepareFormวิธีการที่อยู่ในบล็อกของ บริษัท Form\Genericซึ่งเป็นส่วนขยายชั้นเรียน แบบฟอร์มนี้ปรากฏขึ้นและทำงานได้ดีจนกว่าฉันจะเพิ่มแถวแบบไดนามิก ไฟล์เลย์เอาต์ของฉันมีรหัสเพื่อเพิ่มแท็บหลักและกำหนดบล็อกเนื้อหา เช่นกันมันมีชื่อคอนเทนเนอร์line_itemsซึ่งมีuiComponentรูปแบบที่มีแถวแบบไดนามิก แท็บรายการโฆษณาถูกสร้างขึ้นใน_beforeToHtmlวิธีการของWidget\Tabและเนื้อหาที่ได้รับมอบหมายโดยใช้การโทรไปยังgetChildHtmlภาชนะ line_items แท็บทำงานและบรรจุด้วยโครงสร้างที่ถูกต้องทำให้ฉันสามารถเพิ่มและลบแถวได้ ปัญหาคือเมื่อฉันส่งหน้าเฉพาะอินพุตในแท็บรายการโฆษณาเท่านั้นที่จะถูกส่ง ดังนั้นฉันรู้ว่าฉันยังไม่ได้ตั้งค่าอย่างถูกต้องและต้องการวิธีที่จะสอนให้ติดตามและส่งองค์ประกอบแบบฟอร์มทั้งหมด การใช้งานส่วนใหญ่มาจากความพยายามของฉันในการย้อนกระบวนการออกแบบการตั้งค่าของหมวดหมู่คุณสมบัติผลิตภัณฑ์แบบฟอร์มซึ่งคล้ายกับสิ่งที่ฉันต้องการจะทำ ใครมีความคิดเกี่ยวกับมัน

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