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

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

4
วิธีรับเส้นทางไดเรกทอรีสื่อในไฟล์ phtml ใน magento 2
ใช้วิธีการด้านล่างเพื่อรับเส้นทางไดเรกทอรีสื่อแต่มันกลับข้อผิดพลาด $om = \Magento\Core\Model\ObjectManager::getInstance(); $directoryList = $om->get(\Magento\App\Filesystem\DirectoryList::class); $pubMediaDir = $directoryList->getPath(\Magento\App\Filesystem\DirectoryList::MEDIA); โปรดช่วยฉันหาวิธีแก้ปัญหา

4
มีเครื่องมืออะไรบ้างสำหรับการตรวจสอบมาตรฐานการเข้ารหัสของ Magento 2
ฉันกำลังทำงานเกี่ยวกับโครงการตรวจสอบมาตรฐานการเข้ารหัสของ Magento 2 มีเครื่องมืออื่นใดนอกเหนือจากPHP_CodeSnifferเพื่อตรวจสอบสถานะการเข้ารหัสของ Magento 2 และ PHP หรือไม่

1
Magento 2: แสดงการให้คะแนนผลิตภัณฑ์สำหรับดาวแต่ละดวงอันดับเฉลี่ยและ% ของคะแนน 5 ดาวบนหน้าผลิตภัณฑ์
ฉันต้องการแสดงการให้คะแนนในหน้าผลิตภัณฑ์เช่นนี้: ผู้ใช้เลือกคะแนนระดับดาว 5/4/3/2/1 เท่าใด คะแนนเฉลี่ยแสดงเป็นดาว ร้อยละของผู้ใช้เลือกระดับ 5 ดาว ฉันจำเป็นต้องเพิ่มรหัสที่กำหนดเองสำหรับที่ดังนั้นโปรดอย่าแนะนำgetReviewsSummaryHtml

3
วิธีคืนวัตถุ JSON ด้วย REST API ที่กำหนดเองใน Magento 2
ฉันกำลังเขียนการสาธิต REST API ที่กำหนดเอง ตอนนี้มันสามารถคืนค่าตัวเลขและสตริงในการสาธิตของฉันได้ แต่ฉันต้องการให้ส่งคืนออบเจ็กต์ JSON เช่น REST API อื่น ๆ ในการสาธิตของฉันฉันเรียก Magento 2 API (เช่นรับข้อมูลลูกค้า: http: //localhost/index.php/rest/V1/customers/1 ) ด้วย curl และส่งคืนสตริง JSON: "{\" id \ ": 1, \" group_id \ ": 1, \" default_billing \ ": \" 1 \ ", \" created_at \ ": \" 2016-12-13 14: 57: …
14 magento2  api  rest 

2
วิธีการเปลี่ยนรูปแบบวันที่ของตัวกรองกริดผู้ดูแลระบบ magento 2 โดยไม่ใช้คอมโพเนนต์ ui
ด้านล่างเป็นsome_grid_block.xml, ฉันจะเปลี่ยนรูปแบบวันที่ในตัวกรองปฏิทินได้อย่างไร <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="adminhtml.qrcode.grid.container"> <block class="Oneteam\Qrcode\Block\Grid" name="adminhtml.qrcode.grid" as="grid"> <arguments> <argument name="id" xsi:type="string">QrcodeGrid</argument> <argument name="dataSource" xsi:type="object">Oneteam\Qrcode\Model\ResourceModel\Qrcode\Collection</argument> <argument name="default_sort" xsi:type="string">qr_id</argument> <argument name="default_dir" xsi:type="string">desc</argument> </arguments> <block class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <filterRange name="created_at" class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataScope" xsi:type="string">created_at</item> <item name="label" xsi:type="string" translate="true">Created</item> </item> </argument> <filterDate name="from"> …

2
วิธีการทำตารางผลิตภัณฑ์ใน frontend ในโมดูล magento 2 ที่กำหนดเอง
ฉันสร้างหน้าแบรนด์เพื่อแสดงรายละเอียดพร้อมกับรายการผลิตภัณฑ์ที่เกี่ยวข้อง ฉันต้องการแสดงรายการผลิตภัณฑ์ในกริดเหมือนกับผู้ดูแลระบบ เป็นไปได้ไหมที่จะแสดงตารางในส่วนหน้าเหมือนส่วนหลังหรือไม่

5
เมื่อใดที่ฉันควรพิจารณา Magento2 แทน Magento1
สาธารณรัฐเช็กในชุมชนเรามีการอภิปราย ไม่ว่าจะเป็นวีโอไอพี 2.x เป็นมูลค่าที่จะเริ่มใช้หรือมันจะดีกว่าที่จะติดกับวีโอไอพีรุ่น 1.x ฉันยังไม่มั่นใจที่จะเปลี่ยนเป็น M2 จาก M1 และทิ้งทุกสิ่งที่เราเรียนรู้เกี่ยวกับ M1 - ประสบการณ์ทั้งหมดที่เรามี ทุกคนสามารถชี้แจงประเด็นสำคัญในการเริ่มใช้ Magento2 แทน Magento1 ได้อย่างไร ฉันยังไม่เข้าใจ

3
ทำไมวิธีการป้องกันที่ไม่สามารถดักจับได้?
ฉันสงสัยว่าทำไมมันเป็นไปไม่ได้ที่จะสร้างปลั๊กอินสำหรับprotectedวิธีการ มีรหัสชิ้นนี้ในMagento\Framework\Interception\Code\Generator\Interceptor: protected function _getClassMethods() { $methods = [$this->_getDefaultConstructorDefinition()]; $reflectionClass = new \ReflectionClass($this->getSourceClassName()); $publicMethods = $reflectionClass->getMethods(\ReflectionMethod::IS_PUBLIC); foreach ($publicMethods as $method) { if ($this->isInterceptedMethod($method)) { $methods[] = $this->_getMethodInfo($method); } } return $methods; } มันจะตรวจสอบว่าวิธีการpublicก่อนที่จะอนุญาตให้มีการดัก มันสามารถเปลี่ยนแปลงได้อย่างง่ายดายโดยการสร้างpreferenceในdi.xmlโมดูลเองแน่นอนเช่นนี้ <?xml version="1.0"?> <config> <preference for="Magento\Framework\Interception\Code\Generator\Interceptor" type="MyVendor\MyModule\Model\MyInterceptorModel" /> </config> และเขียนใหม่_getClassMethodsด้วยการ\ReflectionMethod::IS_PUBLICเปลี่ยนเป็น\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTEDภายในของวิธีการ แต่ฉันสงสัยว่าทำไมมันเป็นไปไม่ได้ที่จะสกัดกั้นวิธีการป้องกันในคำนิยามวิธีการเดิม? มันมีผลกระทบสำคัญกับประสิทธิภาพหรือมีเหตุผลอื่น ๆ เช่นการอนุญาตให้โมดูลของบุคคลที่สามสร้างตรรกะของวีโอไอพีด้วยเช่นกัน "ยุ่ง"?
14 magento2 

3
ปัญหาการรีเฟรชหน้าเช็คเอาต์
ก่อนอื่นฉันต้องการให้ภาพหน้าจอเพื่อทำความเข้าใจปัญหาของฉัน ตอนนี้ฉันต้องการเพิ่มรหัสที่เกี่ยวข้องที่นี่ etc / ส่วนหน้า / di.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Checkout\Model\CompositeConfigProvider"> <arguments> <argument name="configProviders" xsi:type="array"> <item name="checkout_deliverysign_block" xsi:type="object">Kensium\DeliverySign\Model\DeliverySignConfigProvider</item> </argument> </arguments> </type> </config> DeliverySignConfigProvider <?php namespace Kensium\DeliverySign\Model; use Magento\Checkout\Model\ConfigProviderInterface; use Magento\Store\Model\ScopeInterface; class DeliverySignConfigProvider implements ConfigProviderInterface { /** * @var \Magento\Framework\App\Config\ScopeConfigInterface */ protected $scopeConfiguration; protected $checkoutSession; protected $logger; /** …

2
Magento 2 - ใช้ \ Magento \ Catalog \ Block \ Adminhtml \ Product \ Widget \ Chooser โดยมีให้เลือกหลายแบบ?
ใช้รหัสนี้ $chooser = $this->_layout->createBlock('\Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser'); var_dump(get_class_methods($chooser)); $configChooser = [ 'button' => [ 'open' => __('Select Products'), 'type' => '\Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser', ] ]; $chooser->setConfig($configChooser) ->setFieldsetId($fieldsetData->getId()) ->prepareElementHtml($productChooser); ฉันสามารถเลือกผลิตภัณฑ์สวย ๆ สำหรับฟิลด์ที่กำหนดเองของฉันในแบบฟอร์มที่กำหนดเองของฉัน แต่ฉันต้องการมันเพื่อให้สามารถเลือกผลิตภัณฑ์หลายอย่าง มีตัวเลือกตัวเลือกที่ฉันสามารถตั้งค่าได้หรือไม่?

4
เมื่อใดที่จะส่งเหตุการณ์ในโมดูลที่กำหนดเอง
นี่เป็นคำถามเกี่ยวกับทั้ง Magento 1 และ Magento 2 ฉันเข้าใจว่าในทางปฏิบัติผู้พัฒนาโมดูลบุคคลที่สามได้รับการสนับสนุนให้จัดส่งกิจกรรมในโมดูลที่กำหนดเองเพื่อให้ทำงานกับโมดูลอื่นได้ง่ายขึ้น ผมอยากจะรู้ว่า: นักพัฒนาควรจัดส่งกิจกรรมในโมดูลที่กำหนดเอง มีจุดแนะนำให้จัดส่งกิจกรรมใดบ้าง เช่นตัวควบคุมโมเดลบล็อกผู้ช่วยเหลือผู้สังเกตการณ์? เหตุการณ์ที่ส่งผลกระทบต่อประสิทธิภาพการทำงานอย่างไร

2
วีโอไอพี 2 ดีกว่าวีโอไอพี 1 อย่างไร
ฉันแค่อยากรู้เกี่ยวกับประสิทธิภาพของวีโอไอพี 2 และมันดีกว่าวีโอไอพีรุ่น 1.xอย่างไร เมื่อเร็ว ๆ นี้ฉันเริ่มเรียนรู้วีโอไอพี 2 และพบว่ามันเป็นทฤษฎีชุดใหม่ทั้งหมดที่ใช้สถาปัตยกรรมของเซนด์ล้วนๆ ดังนั้นฉันแค่อยากรู้ว่ามันดีกว่า Magento 1.x เวอร์ชั่นหรือไม่

2
วีโอไอพี 2: ใช้ข้อความเปรียบเทียบกับเส้นทางของคลาสโดยตรง?
ฉันอาจจะพลาดจุดหนึ่ง แต่ฉันแค่สงสัยว่าทำไมบางครั้งมีคำสั่ง "ใช้" สำหรับชั้นเรียนที่เฉพาะเจาะจงและบางครั้งเราไม่ ตัวอย่าง: app\code\Magento\Email\Model\Template.phpเรามีที่ด้านบนของไฟล์: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; จากนั้นใน__constructวิธีการเรามีพารามิเตอร์ต่อไปนี้: public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Registry $registry, \Magento\Store\Model\App\Emulation $appEmulation, StoreManagerInterface $storeManager, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Email\Model\Template\Config $emailConfig, \Magento\Email\Model\TemplateFactory $templateFactory, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\UrlInterface $urlModel, \Magento\Email\Model\Template\FilterFactory $filterFactory, array $data = [] ) ดังนั้นเราจะเห็นได้อย่างชัดเจนว่าเมื่อเราเรียกuse Magento\Store\Model\StoreManagerInterface;ที่ด้านบนของชั้นเรียนเราสามารถทำได้StoreManagerInterface $storeManagerในพารามิเตอร์ตัวสร้าง …

6
Magento 2 reindex ส่งกลับไม่มีเอนทิตีดังกล่าว
ฉันย้ายข้อมูลแคตตาล็อกจาก Magento 1.9.2.3 ไปเป็น Magento 2.0.2 เรียบร้อยแล้ว หลังจากการโยกย้ายผม Reindex php bin/magento indexer:reindexใช้คำสั่ง ทั้งหมดถูกทำดัชนีใหม่สำเร็จยกเว้นดัชนีcatalog_category_productและcatalog_product_categoryกลับมาNo such entity.ในเชลล์และการแจ้งเตือนReindex Requiredในผู้ดูแลระบบ ฉันได้ตรวจสอบแล้วvar/log/แต่ไม่มีข้อผิดพลาด ดังนั้นผลิตภัณฑ์จะถูกเพิ่มลงในหมวดหมู่ในส่วนหลัง แต่หมวดหมู่จะแสดงว่างในส่วนหน้า สิ่งที่อาจทำให้เกิดปัญหานี้ ฉันจะดีบักได้อย่างไร


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