Magento

คำถาม & คำตอบสำหรับผู้ใช้แพลตฟอร์ม Magento e-Commerce


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 1.9
ฉันบำรุงรักษาเว็บไซต์ Magento 1.9 ด้วยโมดูลที่กำหนดเองหลายอย่าง ฟังก์ชั่นบางอย่างมีความสำคัญอย่างยิ่งสำหรับธุรกิจและจำเป็นต้องทดสอบหน่วย เช่นเครื่องคิดเลขราคาต่อหน่วย ฉันมักจะพัฒนาใน Symfony และต้องการใช้ PHPUnit (w / นักแต่งเพลง) อย่างแท้จริงถ้าเป็นไปได้ ฟังก์ชั่นบางอย่างขึ้นอยู่กับข้อมูลที่นำเข้าไปยังตารางฐานข้อมูลที่กำหนดเองหลาย ๆ ตัวดังนั้นฉันจึงต้องการโหลดตัวโหลดอย่างใด ดังนั้นฉันกำลังมองหาวิธีปฏิบัติที่ดีที่สุดในการเขียนแบบทดสอบหน่วย ฉันจะ Glady ยอมรับบทเรียนหรือสิ่งที่คล้ายกัน ความช่วยเหลือใด ๆ ที่ชื่นชม

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; } …

2
สร้างวันที่และเวลาสำหรับผลิตภัณฑ์ใน magento 2
ฉันพยายามสร้างคุณลักษณะสำหรับผลิตภัณฑ์ที่จะต้องแสดงวันที่และเวลาและควรเก็บไว้ในฐานข้อมูลเป็นรูปแบบวันที่และเวลาเท่านั้นฉันต่อสู้กับมันมาก แต่ไม่มีโชคคุณช่วยคนใดคนหนึ่งช่วยฉันได้ .. นี่คือสคริปต์ของฉัน $ eavSetup -> addAttribute ( \ Magento \ Catalog \ Model \ Product :: ENTITY , 'xyz_start_time' , [ 'กลุ่ม' => 'xyz' , 'type' => 'datetime' , 'backend' => ' , ' frontend ' => ' ' , ' label ' => ' เวลาเริ่มต้น ' , …


3
วิธีบันทึกฟิลด์ที่กำหนดเองในตารางฐานข้อมูลที่กำหนดเองขณะแก้ไขผลิตภัณฑ์จากแบ็คเอนด์
ฉันได้สร้างโมดูลที่กำหนดเองเพื่อแสดงแท็บที่กำหนดเองในแบบฟอร์มผลิตภัณฑ์ในส่วนหลัง ฉันใช้นี้วิธีการแก้ปัญหา ตอนนี้บนแท็บฉันกำลังเพิ่มเขตข้อมูลที่กำหนดเองเพื่อบันทึกในตารางฐานข้อมูลที่กำหนดเอง พูด<input type="text" name="my_new_field" value="123"> สร้างตัวควบคุมที่กำหนดเองสำหรับผลิตภัณฑ์ของผู้ดูแลระบบด้วยเช่นกัน ใน 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"> <preference for="Magento\Catalog\Controller\Adminhtml\Product\Save" type="Namespace\Module\Controller\Adminhtml\Rewrite\Product\Save" /> </config> และใน Controller / Adminhtml / Rewrite / Product / Save.php <?php namespace Namespace\Module\Controller\Adminhtml\Rewrite\Product; class Save extends \Magento\Catalog\Controller\Adminhtml\Product\save { public function execute() { echo "hello"; print_r($_POST); die; return parent::execute(); …

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 ธรรมดาที่ไม่มีอะไรมากไปกว่ากล่องกำหนดเอง สิ่งที่อาจทำให้เกิดข้อผิดพลาดเหล่านี้ ??

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