Magento

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

3
Mage :: log เขียนไปยังหน้าจอ
ฉันมีระบบการพัฒนา display_errors เปิดอยู่ Magento อยู่ในโหมดนักพัฒนาซอฟต์แวร์และฉันพยายาม Mage::log($layered_navigation_filter_block); // Mage_Catalog_Block_Layer_Filter_Attribute และทุกอย่างถูกเขียนลงบนหน้าจอแทนที่จะเป็นไฟล์บันทึกทำไม? ดูเหมือนว่ากรณีนี้: // app/Mage.php:837 if (is_array($message) || is_object($message)) { $message = print_r($message, true); } แต่อาร์กิวเมนต์ที่สองจาก print_r จะถูกละเว้น: Mage_Catalog_Block_Layer_Filter_Category Object ( [_filter:protected] => ... [28-Jan-2013 22:48:43 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 241434624 bytes) in …
21 debugging 

6
Magento ราคาสินค้าที่กำหนดได้แทนที่ราคาผลิตภัณฑ์อย่างง่าย
ฉันมีผลิตภัณฑ์ที่ตั้งค่าเหมือนกัน (เท่าที่ฉันจะบอกได้) และพวกเขาก็นำเข้าทั้งหมดด้วยเทมเพลต CSV สากล ราคาที่กำหนดคือ 29.99 เสื้อเชิ้ตแขนสั้น Simple Associated คือ 29.99 เสื้อเชิ้ต Simple แขนยาวคือ 39.99 ใบแจ้งหนี้เพิ่งเรียกเก็บเงินผลิตภัณฑ์แขนยาว ( ZTWS-SBLS-XL ) ที่มีราคา 39.99 กับราคาผลิตภัณฑ์ที่กำหนดค่าได้ 29.99 ฉันจะบังคับราคาผลิตภัณฑ์อย่างง่ายให้แทนที่ราคาผลิตภัณฑ์ที่กำหนดได้อย่างไร ผลิตภัณฑ์ทั้งสองด้านล่างมีการตั้งค่าเหมือนกันกับผลิตภัณฑ์ที่สามารถกำหนดค่าได้และเป็นผลิตภัณฑ์ที่เรียบง่าย ใบแจ้งหนี้: Item Sku Qty Subtotal Item one ZLOB-SBLS-XL 1 $39.99 Item Two ZTWS-SBLS-XL 1 $29.99 แก้ไข:ยังคงทำงานเพื่อแก้ไขปัญหานี้ อะไรจะทำให้วีโอไอพีต้องการราคาผลิตภัณฑ์ที่ง่ายกว่าราคาผลิตภัณฑ์ที่กำหนดได้หรือราคาแอตทริบิวต์ผลิตภัณฑ์ที่เกี่ยวข้อง

1
จะติดตั้ง Magento 2 เวอร์ชั่นที่มี Composer ได้อย่างไร
ฉันต้องการติดตั้ง Magento เวอร์ชัน 2.1.7 พร้อมกับ Composer ฉันพบในเอกสารที่ฉันสามารถใช้ในสิ่งที่ต้องการ: "magento/product-community-edition": "2.1.7"แต่ผู้แต่งบอกว่าไม่พบแพ็คเกจที่ร้องขอ ฉันยังพบว่าฉันสามารถทำได้: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name> แต่นี่ไม่อนุญาตสำหรับหมายเลขรุ่นใช่หรือไม่

2
Magento 2 - แนวปฏิบัติที่ดีในการใช้ / หลีกเลี่ยง Magic getters?
Magic getters on Varien_Object(M1) และDataObject(M2) เป็นเรื่องธรรมดา แต่ด้วย Magento 2 มันรู้สึกผิดที่จะใช้มัน ดี: ง่ายต่อการอ่าน / เขียน ไม่ดี มันทำให้เกิดปัญหาเมื่อใช้ตัวเลขในคีย์ (ดู: วีโอไอพี 2: วิธีที่แตกต่างกันในการรับฟิลด์ของคอลเลกชันหรือรับคุณสมบัติของผลิตภัณฑ์ที่กำหนดเองโดยใช้เคสอูฐ ) เครื่องมือวิเคราะห์รหัสบ่นเกี่ยวกับวิธีการที่ไม่มีอยู่ คำถาม ด้วย Magento 2 เรามีสองวิธีใหม่: getDataByKey($key) getDataByPath($path) มีเหตุผลที่ดีที่จะยังคงใช้getData($key)หรือผู้ได้รับเวทมนตร์? แก้ไข: @Vinai ขอบคุณ ฉันไม่ได้พูดถึง@methodวิธีการเพราะวิธีการของฉันแตกต่างกันมาก มันช่วย IDE เท่านั้น แต่ไม่มีผลกระทบต่อสิ่งอื่น มีการรวม PR หลาย ๆ อันที่เป็น "การปรับให้เหมาะสมที่สุดของไมโคร" อย่างที่ต้องการ(int)แทนintval()หรือรับขนาดของอาเรย์ภายนอกลูป (แม้กระทั่งสำหรับอาเรย์ขนาดเล็ก) ในทางกลับกันมี ผู้ได้รับเวทมนตร์ที่มี "ค่าใช้จ่าย" ตามที่ …


2
Magento 2 checkout - เพิ่มฟิลด์ที่กำหนดเองระหว่างที่อยู่สำหรับจัดส่งและวิธีการจัดส่ง
ฉันกำลังพยายามเพิ่มฟิลด์ที่กำหนดเองระหว่างที่อยู่สำหรับจัดส่งและส่วนวิธีการจัดส่ง และฉันต้องการให้ค่าของเขตข้อมูลนี้ถูกจัดเก็บทั้งในquoteและsales_orderตารางในท้ายที่สุด นี่คือสิ่งที่คล้ายกับการเพิ่มฟิลด์ "ความคิดเห็นการสั่งซื้อ" แต่ฟิลด์นี้ควรปรากฏขึ้นทันทีหลังจากส่วนที่อยู่จัดส่งและก่อนที่ส่วนวิธีการจัดส่ง ฉันผ่านคู่มือวีโอไอพี dev เกี่ยวกับวิธีเพิ่มฟิลด์ที่กำหนดเองและแบบฟอร์มที่กำหนดเองเพื่อการชำระเงินและนำโซลูชันไปใช้ในระดับหนึ่ง สิ่งที่ฉันทำไปแล้ว: อัปเดตcheckout_index_index.xmlเค้าโครงแล้วเพิ่มใหม่uiComponent(คอนเทนเนอร์) ใต้รายการ "shippingAddress" เพิ่มองค์ประกอบ (ฟิลด์) ฉันต้องการภายในคอนเทนเนอร์ แทนที่/js/view/shipping.jsและshipping.phtmlในโมดูลที่กำหนดเองของฉัน เรียกใช้คอนเทนเนอร์ที่ทำด้านบนภายในshipping.phtmlระหว่างที่อยู่สำหรับจัดส่งสินค้าเช็คเอาท์และวิธีการจัดส่ง (สิ่งที่คล้ายกับการเพิ่มฟอร์มแบบคงที่ใหม่) ตอนนี้เขตข้อมูลที่ฉันต้องการถูกแสดงบนการชำระเงิน onepage ตรงตามที่ฉันต้องการ แต่ฉันได้พบกับปัญหาด้านล่าง วิธีเข้าถึงค่าของฟิลด์ที่กำหนดเองที่ฉันเพิ่มไว้ด้านบน ฉันพยายามบันทึกค่าลงในแอตทริบิวต์ส่วนขยาย shippingAddress ฉันเพิ่มมิกซ์อินเข้าไปsetShippingInformationActionด้านในซึ่งพยายามทำด้านล่าง shippingAddress['extension_attributes']['custom_field'] = shippingAddress.customAttributes['custom_field']; shipping-address-fieldsetแต่โค้ดข้างต้นจริงล้มเหลวตั้งแต่องค์ประกอบไม่ได้อยู่ใน ฉันอาจได้รับค่าผ่านwindowองค์ประกอบ แต่มีวิธีเข้าถึงผ่านวีโอไอพีหรือไม่? มีวิธีการบันทึกค่าขององค์ประกอบนี้ในการจัดเก็บแคชท้องถิ่น ( Magento_Checkout/js/checkout-data) ดังนั้นค่าจะยังคงอยู่แม้หลังจากรีเฟรชหน้า?


7
ข้อผิดพลาดแปลกเมื่อรันการติดตั้ง: อัพเกรดหลังจากการติดตั้งโมดูล
ฉันพยายามติดตั้ง wyomind google shopping และมีข้อผิดพลาดต่อไปนี้เมื่อใช้งาน bin / magento setup: upgrade [UnexpectedValueException] Unable to retrieve deployment version of static files from the file system. [Magento\Framework\Exception\FileSystemException] Cannot read contents from file "/var/www/vanillamage2/public_html/pub/stati c/deployed_version.txt" Warning!file_get_contents(/var/www/vanillamage2/pub lic_html/pub/static/deployed_version.txt): failed to open stream: No such f ile or directory ฉันได้ลองสิ่งนี้บนเซิร์ฟเวอร์ 2 แห่งและการติดตั้ง Magento 2.1.7 แยก 3 …

3
ข้อผิดพลาดร้ายแรง: ไม่สามารถยกตัวอย่างอินเทอร์เฟซใน Magento 2 ได้หรือไม่
ในฐานะที่เป็นส่วนหนึ่งของการสร้างผลิตภัณฑ์ชุดโดยทางโปรแกรมในวีโอไอพี 2 ฉันได้รับข้อผิดพลาดด้านล่าง แม้ฉันจะลบ var / cache และการสร้าง นี่อาจเป็นคำถามที่ซ้ำกัน แต่ไม่มีคำตอบสำหรับปัญหานี้ ข้อผิดพลาดร้ายแรง: ไม่สามารถสร้างอินเทอร์เฟซ Magento \ Catalog \ Api \ Data \ ProductExtensionInterface ใน \ ObjectManager \ Factory \ Dynamic \ Developer.php ที่บรรทัด 73 ใช้โค้ดด้านล่างเพื่อการอ้างอิงของลิงค์ $productExtension = $objectManager->create(\Magento\Catalog\Api\Data\ProductExtensionInterface::class); $option = $objectManager->create(\Magento\Bundle\Api\Data\OptionInterface::class); $option->setTitle('Size'); $option->setType('radio'); $option->setRequired(true); $option->setPosition(1); //$option->setProductLinks($links); $productExtension->setBundleOptions([$option]); $_product->setExtensionAttributes($productExtension); ฉันกำลังใช้ตัวจัดการวัตถุเพื่อวัตถุประสงค์ชั่วคราว / ด่วนจะแปลงตัวจัดการวัตถุให้เป็นตัวสร้างคำสั่ง ผู้ใดสามารถช่วยฉันในเรื่องนี้

5
รับคุณลักษณะของผลิตภัณฑ์ในตะกร้าใน Magento2
ฉันพยายามคว้าคุณลักษณะของผลิตภัณฑ์ในเทมเพลตรถเข็น แต่ฉันไม่ทำงาน! แอ็ตทริบิวต์ถูกตั้งค่าเป็นมองเห็นได้บนหน้าแคตตาล็อกบนหน้าร้าน = ใช่และใช้ในรายการผลิตภัณฑ์ = ใช่ ฉันใช้โมดูลที่กำหนดเองเพื่อแทนที่แม่แบบต่อไปนี้: /vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml ฉันมีผลิตภัณฑ์: $_item = $block->getItem(); $product = $_item->getProduct(); โดยปกติฉันคาดว่าจะมีแอตทริบิวต์ที่กำหนดเอง (ประเภทพื้นที่ข้อความในกรณีนี้) พร้อมรหัสแอตทริบิวต์ของ 'sample_attr' ที่จะสามารถใช้ได้กับหนึ่งในสิ่งต่อไปนี้: $product->getData('sample_attr'); หรือ $product->getSampleAttr(); แอททริบิวบางตัวสามารถใช้งานได้โดยใช้ (sku, น้ำหนัก, ราคา .. ) แต่สำหรับแอตทริบิวต์ที่กำหนดเองจะใช้ไม่ได้ ผู้ช่วยเหลือที่รวมอยู่ (\ Magento \ Msrp \ Helper \ Data) ไม่มีวิธีการแอตทริบิวต์ ฉันสามารถรับรหัสคุณลักษณะทั้งหมดได้โดยใช้: $attributes = $product->getAttributes(); foreach($attributes as $a) { var_dump($a->getName()); …

5
Magento 2: วิธีรีเซ็ตรหัสผ่านลูกค้าจากฐานข้อมูล
มันแฮสำหรับรหัสผ่านลูกค้าในฐานข้อมูล MD5 และ Sha1 ไม่ทำงาน UPDATE `customer_entity` SET `password` = MD5('test123') WHERE `email` = 'X@X.com'; ดังนั้นวิธีอัพเดทรหัสผ่านโดยใช้การสืบค้นฐานข้อมูล อาจจะเป็นMD5(Sha1('test123'))อย่างไร วีโอไอพีทำรหัสผ่านได้อย่างไร ไปที่vendor\magento\module-customer\Console\Command\UpgradeHashAlgorithmCommand.php protected function execute(InputInterface $input, OutputInterface $output) { $this->collection = $this->customerCollectionFactory->create(); $this->collection->addAttributeToSelect('*'); $customerCollection = $this->collection->getItems(); /** @var $customer Customer */ foreach ($customerCollection as $customer) { $customer->load($customer->getId()); if (!$this->encryptor->validateHashVersion($customer->getPasswordHash())) { list($hash, $salt, $version) …

3
Magento 2: นักพัฒนาโมดูลควรอ่านไฟล์กำหนดค่าของตัวเองอย่างไร
สถานการณ์จำลอง: ฉันเป็นผู้พัฒนาโมดูล Magento 2 app/etcผมต้องการสร้างแฟ้มการกำหนดค่าใน ฉันต้องการให้ไฟล์นี้ "กำหนดขอบเขต" ตามพื้นที่ app/etc/my_file.xml app/etc/frontend/my_file.xml app/etc/adminhtml/my_file.xml ใน Magento 1 ฉันแค่สร้างconfig.xmlและเป็นในแบบของฉัน การกำหนดขอบเขตพื้นที่เกิดขึ้นในไฟล์ XML นั้นเอง อย่างไรก็ตาม Magento 2 เข้าใกล้สิ่งนี้แตกต่างกันมาก ใน Magento 2 ฉันควรสร้างไฟล์คลาสใดเพื่ออ่านไฟล์การกำหนดค่าที่กำหนดขอบเขตเหล่านี้ ยังไม่ชัดเจนจากแหล่งที่มาของวีโอไอพี 2 ว่า "วิธีการที่ถูกต้อง" คืออะไร รหัสหลักมีหลายวิธีและไม่มีการทำเครื่องหมายด้วย@apiวิธีใดเลย สิ่งนี้ทำให้ยากที่จะทราบวิธีดำเนินงานภารกิจนักพัฒนาโมดูลทั่วไปนี้ ในฐานะที่เป็นผลข้างเคียงที่สองก็ทำให้ยากที่จะทราบว่าผู้พัฒนาโมดูล Magento ควรอ่านจากไฟล์กำหนดค่าหลักได้อย่างไร ในอีกด้านหนึ่งดูเหมือนว่า "สิ่งที่ถูกต้อง" ที่จะทำคือสร้างวัตถุตัวอ่านระบบไฟล์ ตัวอย่างเช่น Magento ดูเหมือนว่าจะโหลดimport.xmlไฟล์ดังต่อไปนี้ #File: vendor/magento/module-import-export/Model/Import/Config/Reader.php namespace Magento\ImportExport\Model\Import\Config; class Reader extends \Magento\Framework\Config\Reader\Filesystem …

3
ลำดับการเรียงคอลัมน์คอลัมน์แบบกำหนดเองของ Magento 2
ฉันทำกริดแบบกำหนดเองในผู้ดูแลระบบ Magento โดยใช้คอมโพเนนต์ UI โดยทั่วไปทุกอย่างทำงานได้ดีนอกเหนือจากลำดับของคอลัมน์ที่ไม่แสดงขวา ในขณะที่คุณสามารถดูคอลัมน์การกระทำที่ถูกต้องที่จุดเริ่มต้นและหนึ่งคอลัมน์ที่เลือกอยู่ในตอนท้าย เมื่อฉันสร้างคอลัมน์ใน XML ฉันคำนึงถึงsortOrderคุณลักษณะสำหรับแต่ละคอลัมน์ แต่อย่างใดลำดับไม่ได้เป็นสิ่งที่ฉันตั้งให้ รหัสจากlisting.xmlคือต่อไปนี้ <columns name="inactive_columns" class="Module\MyModule\Ui\Component\Listing\Columns"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="storageConfig" xsi:type="array"> <item name="provider" xsi:type="string">inactive_listing.inactive_listing.listing_top.bookmarks</item> <item name="namespace" xsi:type="string">current</item> </item> <item name="editorConfig" xsi:type="array"> <item name="selectProvider" xsi:type="string">inactive_listing.inactive_listing.inactive_columns.ids</item> <item name="enabled" xsi:type="boolean">true</item> <item name="indexField" xsi:type="string">entity_id</item> <item name="clientConfig" xsi:type="array"> <item name="saveUrl" xsi:type="url" path="customer/index/inlineEdit"/> <item …
20 magento2  admin  grid  sort 

4
วิธีเปิดใช้งานโหมดผู้พัฒนาใน Magento 1.7
ฉันกำลังพยายามเปิดใช้งานโหมดผู้พัฒนาบนไซต์โดยใช้ Magento 1.7 จนถึงตอนนี้ฉันได้เพิ่ม: SetEnv MAGE_IS_DEVELOPER_MODE "true" ไปที่.htaccessไฟล์และ: ... if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); } ... ไปยังindex.phpไฟล์ตามที่อธิบายไว้ที่นี่ ฉันได้ลบIfประโยคออกเหลือเพียง: ... Mage::setIsDeveloperMode(true); ... ในไฟล์ index.php แต่ก็ยังไม่มีโชค ฉันพลาดอะไรไป ฉันควรทำอย่างไรเพื่อเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์

5
วิธีการสร้างฟอร์มป๊อปอัพ - โมดัลใน magento2
ฉันใหม่สำหรับ magento2 ฉันพยายามสร้างป๊อปอัปสำหรับรูปแบบใหม่ของฉัน ฉันสร้างป๊อปอัปซึ่งทำงานได้ดี แต่ไม่สามารถสร้างคำกริยา ต่อไปนี้เป็นรหัสสำหรับป๊อปอัพที่โหลดในการโหลดหน้า - require([ 'jquery', 'Magento_Ui/js/modal/alert' ], function($, alert) { alert({ title: "Some title", content: "we can show popuop based on cookies later", autoOpen: true, clickableOverlay: false, focus: "", actions: { always: function(){ console.log("modal closed"); } } }); } ); โปรดช่วยฉันสร้างกิริยา ความช่วยเหลือใด ๆ ที่เป็นที่นิยมจริงๆ

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