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

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

1
Magento 2.x ความต้องการ PHP memory_limit
ผมสังเกตเห็นว่าวีโอไอพี 2.1 คู่มือแนะนำในmemory_limit=2G php.iniนั่นคือจำนวนหน่วยความจำที่บ้าคลั่งหน่วยความจำนั้นไม่อนุญาตต่อคำขอ HTTP ฉันสงสัยว่ามีผู้ให้บริการโฮสติ้งรายใดที่ให้หน่วยความจำจำนวนหนึ่งสำหรับสคริปต์ PHP และแน่นอนว่า Magento จะไม่สามารถทำงานร่วมกับโฮสติ้งที่ใช้ร่วมกันได้ นั่นอาจเป็นจำนวนเงินสำหรับการตั้งค่าและย้ายข้อมูลหรือไม่ จำนวนเงินนั้นจำเป็นสำหรับการผลิตจริงหรือ ฉันยังพบในเอกสารประกอบ: Set the PHP memory limit. Our detailed recommendations are: Compiling code or deploying static assets, 756M Installing and updating Magento components from Magento Marketplace, 2G Testing, 2G ไม่ได้พูดถึงคำแนะนำการผลิต สิ่งที่แนะนำสำหรับการผลิต?


1
คุณมีวิธีในการดีบักข้อยกเว้นเกี่ยวกับ xml อย่างไร
ฉันกำลังเขียนโค้ดกับ Magento 2 ใน gvim และฉันใหม่กับ Magento 2 มีหลายครั้งที่ฉันพยายามแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับ xml ทุกครั้งที่มีโชคเท่านั้น แต่สถานการณ์เช่นนี้ทำให้ฉันรู้สึกไม่สบายใจจริงๆ: คุณไม่รู้ว่าไฟล์อยู่ที่ไหนที่ทำให้เกิดข้อผิดพลาดนี้และดีบักเกอร์จะไม่บอก รับต่อไปนี้ฉันจะได้รับ: ไฟล์ xml ไม่ถูกต้อง ที่จริงฉันได้สร้างโมดูลที่มี module.xml, route.xml, config.xml, {layout} .xml, di.xml ภายใต้มันเป็นต้นหรือดู / เค้าโครง dirs ไฟล์ 12/89 / .. ไฟล์ใดที่ไม่ถูกต้อง? ที่สร้าง / รวมหรือไม่ ฉันหลงทางเพราะฉันไม่พบสิ่งใดใน var / created และ commandline หยุดทำงาน อะไรคือวิธีการแก้จุดบกพร่องเพื่อค้นหาสิ่งที่เป็นข้อผิดพลาดนี้. ความช่วยเหลือใด ๆ ที่ชื่นชม ข้อผิดพลาดร้ายแรง: Uncaught Magento …
11 magento2  php  xml  debugging 

2
Magento2 - Command-Line - การส่งอีเมลโดยใช้เทมเพลตบล็อก - ข้อผิดพลาด: ไม่มีอาร์กิวเมนต์ที่จำเป็น $ debugHintsPath
เมื่อพยายามส่งอีเมลใน Magento 2 จากบรรทัดคำสั่งฉันพบข้อยกเว้นด้านล่าง ในขณะที่ใช้คลาสเดียวกันเพื่อส่งอีเมลจากส่วนควบคุมหรือส่วนหลังก็ทำงานได้อย่างสมบูรณ์ ปัญหานี้เกิดขึ้นอย่างเข้มงวดโดยใช้อินเตอร์เฟสบรรทัดคำสั่ง ข้อยกเว้น: main.CRITICAL: ข้อยกเว้น 'BadMethodCallException' พร้อมข้อความ 'ไม่มีอาร์กิวเมนต์ที่จำเป็น $ debugHintsPath of Magento \ Developer \ Model \ TemplateEngine \ Plugin \ DebugHints' ใน /.../.../magento/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:45 ปัญหานี้เกิดขึ้นเมื่อพยายามเรียกบล็อกผ่านเค้าโครงจากภายในแม่แบบ ทันทีที่การบล็อกถูกลบข้อยกเว้นจะหยุดแสดง ไฟล์เทมเพลต: app / รหัส / NameSpace / โมดูล / view / ส่วนหน้า / อีเมล์ / email_notification.html {{template config_path="design/email/header_template"}} ... <!-- …

3
จะได้รับ Tier ราคาของผลิตภัณฑ์ magento2 ได้อย่างไร
วิธีรับราคาระดับของผลิตภัณฑ์ใน Magento 2 ด้วยรหัสที่กำหนดเองได้อย่างไร นี่คือรหัสของฉัน public function getProductCollection() { $collection = $this->_productCollectionFactory->create(); $collection->addAttributeToSelect('*'); $collection->setOrder('created_at', 'DESC'); // $collection->setPageSize(3); // fetching only 3 products return $collection; } และฟังก์ชั่นการโทรของฉันใน. phtml $productCollection = $block->getProductCollection(); $productCollection->setPageSize(2); foreach ($productCollection as $product) { echo $product->getName(); print_r($product->getTierPrice()); echo getName, getPrice, getSpecial price ทำงานได้ดี แต่getTierPriceไม่ทำงาน อดีต ฉันมีบัตรสมาชิก VIP (customer_group) …

2
วิธีเปลี่ยนรหัสผ่านลูกค้าอย่างรวดเร็วใน Magento 2
ใน Magento 1 จากการกำหนดค่าผู้ดูแลระบบในส่วนจัดการลูกค้าเราสามารถอัพเดต / เปลี่ยนรหัสผ่านใหม่ของลูกค้าได้อย่างง่ายดาย ใน Magento 2 การส่งการรีเซ็ตรหัสผ่านด้วยอีเมลเท่านั้นจะช่วยได้ แต่ไม่เสมอไป นี่อาจเป็นคำถามง่าย ๆ แต่บางครั้งมันอาจช่วยประหยัดเวลาได้มาก มีวิธีง่าย ๆ ในการเปลี่ยนรหัสผ่านของลูกค้าใน Magento 2 หรือไม่? มีวิธีใดบ้างจากฐานข้อมูลที่เราสามารถเปลี่ยนรหัสผ่านด้วยประเภทการเข้ารหัสได้โดยตรง? ความช่วยเหลือจะได้รับการชื่นชม

1
เหตุผลในการตั้งค่า cronjob สำหรับการติดตั้ง: cron: run และ update / cron.php บนระบบการใช้งานจริง?
ใน Magento 2 มีสามคำสั่งที่ควรตั้งค่าเป็น cronjob * * * * * <path to php binary> <magento install dir>/bin/magento cron:run | grep -v "Ran jobs by schedule" >> <magento install dir>/var/log/magento.cron.log * * * * * <path to php binary> <magento install dir>/update/cron.php >> <magento install dir>/var/log/update.cron.log * * * * * …

2
เราจะโหลดคลังรูปภาพสินค้าทันทีโดยไม่ล่าช้าในวีโอไอพีได้อย่างไร
นี่เป็นคำถามแรกของฉันที่เปิดเผยกับฉัน :) ปัญหา: แกลเลอรี่ fotorama ที่ใช้ใน magento 2 ทำให้ผู้ใช้มีประสบการณ์เฉื่อย ไม่สำคัญว่าวีโอไอพีแคชแบบคงที่จะทำงานเร็วแค่ไหนหากรูปผลิตภัณฑ์ไม่ใช่ "ทันที" https://www.ninewest.co.uk/sandals/high-heel/allclear-black-snake-print-nine-west หากคุณไปที่ลิงก์ด้านบน (ร้านค้าแสดงในบล็อกวีโอไอพี) คุณจะเห็นร้านเปิดขึ้นจากนั้นจะแสดงไอคอนโหลดแล้วโหลดภาพ มันช่างน่ากลัว ควรโหลดทันที เช่นเดียวกับ bamm เสร็จสิ้นพิเศษเมื่อใช้แคชแบบเต็มหน้าและเปิดใช้งาน opcache มีวิธีในการเปลี่ยนพฤติกรรมนี้หรือไม่? โหลดทันทีหรือไม่ สำหรับผู้ใช้มันเป็น "องค์ประกอบ" ที่สำคัญที่สุดในหน้า และมันโหลดเป็นรุ่นล่าสุด ฉันไม่เข้าใจว่าไม่มีใครบ่นเกี่ยวกับเรื่องนี้ นี่คือ E commerce สิ่งเดียวที่สำคัญคือ "รูปภาพ" มันเป็นสิ่งที่ผู้ใช้ใส่ใจ เหตุผลที่พวกเขาคลิกบนหน้าผลิตภัณฑ์คือ "ดูภาพได้ดีขึ้นสำหรับฉันโดยส่วนตัวแล้วมันทำให้ฉันเป็นโรคจิตจริง ๆ ด้วยเหตุผลใดก็ตามที่ฉันโกรธสุด ๆ แล้วก็ถามตัวเองว่าฉันบ้าเหรอ? ขอบคุณล่วงหน้าฉันแค่สับสนว่าสิ่งนี้จะเกิดขึ้นได้อย่างไร สำหรับวีโอไอพีของฉันมันโหลดได้ทันที

2
“ source” และ“ dataScope” หมายถึงอะไรในไฟล์ admin การกำหนดค่าองค์ประกอบ Ui
มีโหนดต้นทางและdataScopeในการกำหนดค่าองค์ประกอบ UI ของผู้ดูแลระบบ Magento2 พวกเขาหมายถึงอะไรและควรใช้อย่างไร? <field name="title"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataType" xsi:type="string">text</item> <item name="label" xsi:type="string" translate="true">Page Title</item> <item name="formElement" xsi:type="string">input</item> <item name="source" xsi:type="string">page</item> <item name="sortOrder" xsi:type="number">20</item> <item name="dataScope" xsi:type="string">title</item> <item name="validation" xsi:type="array"> <item name="required-entry" xsi:type="boolean">true</item> </item> </item> </argument> </field>

2
magento ได้รับผลิตภัณฑ์ที่กำหนดราคาต่ำสุดของผลิตภัณฑ์ที่เกี่ยวข้อง?
ในหน้าการดูโดยคุณภาพเยี่ยมเริ่มต้นแสดงราคาต่ำสุดของผลิตภัณฑ์ที่เกี่ยวข้อง ฉันต้องการแสดงราคาสูงสุดของผลิตภัณฑ์ที่เกี่ยวข้อง คนใดคนหนึ่งมีความคิดที่ตรรกะอยู่ที่ไหนวิธีการปรับแต่งพฤติกรรมนี้ อัปเดต: วีโอไอพี \ ConfigurableProduct \ ราคา \ ราคา \ ConfigurablePriceResolver /** * @param \Magento\Framework\Pricing\SaleableInterface|\Magento\Catalog\Model\Product $product * @return float * @throws \Magento\Framework\Exception\LocalizedException */ public function resolvePrice(\Magento\Framework\Pricing\SaleableInterface $product) { $price = null; foreach ($this->configurable->getUsedProducts($product) as $subProduct) { $productPrice = $this->priceResolver->resolvePrice($subProduct); $price = $price ? min($price, $productPrice) : $productPrice; } …


3
วิธีที่ถูกต้องในการใช้งาน getExtensionAttributes ()
ฉันสงสัยว่าอะไรคือวิธีที่เหมาะสมในการนำโมเดล EAV ที่ขยายได้ ฉันเห็นว่าในMagento\Catalog\Model\ProductวิธีการgetExtensionAttributes()ใช้งานเช่นนี้ public function getExtensionAttributes() { $extensionAttributes = $this->_getExtensionAttributes(); if (!$extensionAttributes) { return $this->extensionAttributesFactory->create('Magento\Catalog\Api\Data\ProductInterface'); } return $extensionAttributes; } แต่สำหรับคนอื่น ๆ เช่นลูกค้าหรือรุ่นหมวดหมู่มันเป็นเพียงแค่ public function getExtensionAttributes() { return $this->_getExtensionAttributes(); } ซึ่งสามารถนำไปสู่ผลลัพธ์NULLถ้าคีย์extension_attributesไม่ได้ตั้งค่าก่อน ในทางปฏิบัติฉันต้องการคนแรก วิธีนี้ทำให้ฉันมั่นใจได้เสมอว่าจะได้รับอินสแตนซ์Magento\Framework\Api\ExtensionAttributesInterfaceแม้ว่าตัวแบบนั้นเพิ่งจะถูกทำให้เป็นตัวอย่าง แต่ทำไมมันไม่ใช้ในโมดูลอื่นแล้ว? เป็นการแยกแบบจำลองข้อมูลใหม่ที่เราเห็นในโมดูลลูกค้าหรือไม่ ถ้าเป็นเช่นนั้นเราควรจะเริ่มต้นคุณลักษณะส่วนขยายได้อย่างไร

3
JS ข้อผิดพลาดวีโอไอพี 2
ฉันพยายามทำบางสิ่งบางอย่างจนเสร็จสิ้นและเผยแพร่ทางออนไลน์ในช่วงสุดสัปดาห์นี้ว่ามันพังทลายและฉันก็ไม่รู้ว่าทำไมฉันจึงหวังว่าจะมีคนช่วยฉันได้ ฉันได้ลองเพิ่ม jQuery ที่กำหนดเองลงในธีมที่กำหนดเองของฉันด้วยความสำเร็จเมื่อโหลด jQuery และฟังก์ชันใช้งานได้ แต่! มันทำงานไม่ถูกต้อง ตัวอย่างเช่น Safari จะไม่โหลด jQuery และฉันยังได้รับข้อผิดพลาดเหล่านี้ในคอนโซล: defaultCaptcha.js: 29 Uncaught TypeError: ไม่สามารถอ่านคุณสมบัติ 'captcha' ของการตรวจสอบสิทธิ์ที่ไม่ได้กำหนดป๊อปอัพ: 26 Uncaught TypeError: ไม่สามารถอ่านคุณสมบัติ 'เติมข้อความอัตโนมัติ' ของไม่ได้กำหนด (ฟังก์ชันที่ไม่ระบุชื่อ) ฉันคิดว่ามันมีบางอย่างที่เกี่ยวข้องกับวิธีการที่ฉันประกาศ jQuery ของฉัน แต่เมื่อไม่เป็นเช่นนั้นฉันก็ตัดสินใจลบ JS ที่กำหนดเองทั้งหมดของฉันและฉันก็ยังได้รับข้อผิดพลาดเหล่านี้ ดูเหมือนว่าจะมีบางสิ่งที่แตกสลายมากขึ้น 'ธีม' ที่กำหนดเองของฉันเป็นเพียงหน้า Landing Page ธรรมดาที่ไม่มีอะไรมากไปกว่ากล่องกำหนดเอง สิ่งที่อาจทำให้เกิดข้อผิดพลาดเหล่านี้ ??

2
Magento 2 fieldset.xml; คัดลอกฟิลด์จากคำพูดไปยังการสั่งซื้อ
ฉันได้สร้างแบบจำลองที่กำหนดเองเพื่อสร้างคำสั่งซื้อจากใบเสนอราคา ฉันใช้ fieldset.xml เพื่อคัดลอกใบเสนอราคาที่กำหนดเองเพื่อสั่งซื้อ ฉันได้สร้างคอลัมน์ที่กำหนดเองทั้งในใบเสนอราคาและการสั่งซื้อด้วยฟิลด์ที่ตรงกัน เมื่อมูลค่าการสั่งซื้อถูกเก็บไว้ในฟิลด์ที่กำหนดเองอ้าง แต่ไม่คัดลอกไปยังการสั่งซื้อ ด้านล่างคือ fieldset.xml ของฉัน <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:DataObject/etc/fieldset.xsd"> <scope id="global"> <!--quote convert to order--> <fieldset id="sales_convert_quote"> <field name="preorder_number"> <aspect name="to_order" /> </field> <field name="purchase_order_number"> <aspect name="to_order" /> </field> <field name="reference_number"> <aspect name="to_order" /> </field> </fieldset> <!--quote item convert to order item--> <fieldset id="quote_convert_item"> <field name="preorder_number"> …

1
Magento 2: วิธีเพิ่มข้อความภายในคอนเทนเนอร์ผ่าน XML
ฉันพยายามแสดงข้อความบรรทัดเดียวก่อนรายการลิงก์ในส่วนท้าย การสร้างไฟล์เทมเพลตเพื่อทำสิ่งนี้ดูเหมือนจะเป็นการสิ้นเปลืองทรัพยากรสำหรับงานนี้ ตามที่ฉันเข้าใจฉันสามารถส่งออกข้อความด้วยMagento\Framework\View\Element\Textบล็อกในเค้าโครง XML <referenceContainer name="footer"> <container name="footer.column.about_us" htmlTag="div" htmlClass="column about-us" before="-"> <container name="column.about_us.label" htmlTag="div" htmlClass="label"> <block class="Magento\Framework\View\Element\Text" name="about_us.label"> <arguments> <argument name="data" xsi:type="array"> <item name="text" xsi:type="string">About Us</item> </argument> </arguments> </block> </container> <block class="Magento\Framework\View\Element\Html\Links" name="footer_links.about_us"> <arguments> <argument name="css_class" xsi:type="string">footer links</argument> </arguments> </block> </container> </referenceContainer> ก่อนหน้านี้จะไม่แสดงผลใด ๆ และฉันไม่แน่ใจว่าสิ่งนี้จะได้รับการสนับสนุนหรือไม่หากฉันเพิ่งทำผิดหรือมีวิธีการอื่นที่เหมาะสมกว่าในการทำสิ่งนี้ให้สำเร็จ เพื่อให้ชัดเจนสิ่งที่ฉันเห็นอยู่ในขณะนี้คือ: <div class="column about-us"> …

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