Magento

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

6
Critical Reminder: ดาวน์โหลดและติดตั้งแพตช์ความปลอดภัยของ Magento (FTP ที่ไม่มีการเข้าถึง SSH)
แพทช์รักษาความปลอดภัยของ Magento ดูเหมือนพวกเขาเป็น.shไฟล์คนอื่นจะนำแพตช์เหล่านี้ไปใช้โดยไม่ใช้ SSH เพื่อติดตั้ง Magento ได้อย่างไร? แพทช์เหล่านี้จะสะสมหรือไม่ IE: พวกเขาจะรวมอยู่ใน Magento เวอร์ชันอนาคตหรือพวกเขาจำเป็นต้องนำมาใช้ใหม่หรือไม่? ฉันถามคำถามนี้เพราะฉันเข้าสู่แผงควบคุมของฉันและได้รับคำเตือนด้านความปลอดภัยที่สำคัญ: ดาวน์โหลดและติดตั้งแพตช์รักษาความปลอดภัยที่สำคัญ 2 อัน ( SUPEE-5344และSUPEE-1533 ) จากหน้าดาวน์โหลด Magento Community Edition ( https://www.magentocommerce.com/products/downloads/magento/ ) หากคุณยังไม่ได้ดาวน์โหลดและติดตั้งแพทช์ 2 ตัวที่เผยแพร่ก่อนหน้านี้ซึ่งป้องกันผู้โจมตีจากการเรียกใช้โค้ดจากซอฟต์แวร์ Magento จากระยะไกล ปัญหาเหล่านี้ส่งผลกระทบต่อ Magento Community Edition ทุกรุ่น ข่าวประชาสัมพันธ์จาก Checkpoint Software Technologies ในอีกไม่กี่วันข้างหน้าจะทำให้หนึ่งในปัญหาเหล่านี้เป็นที่รู้จักอย่างกว้างขวาง ให้แน่ใจว่าแพทช์อยู่ในตำแหน่งที่เป็นมาตรการป้องกันก่อนที่จะเผยแพร่ปัญหา และวันที่ 14 พฤษภาคม 2558 : เป็นสิ่งสำคัญสำหรับคุณในการดาวน์โหลดและติดตั้งแพตช์รักษาความปลอดภัยใหม่ ( SUPEE-5994 …

4
รหัสผ่านในการสมัครอีเมล์ การปฏิบัติที่ไม่ดี? รองรับ PCI?
เราใช้ Magento Enterprise (1.12) และฉันมีลูกค้าหลายคนส่งอีเมลถึงฉันบ่นว่าพวกเขาได้รับรหัสผ่านทางอีเมลเมื่อพวกเขาสมัครใช้งานบัญชี ฉันรู้ว่านี่ถือว่าเป็นการปฏิบัติที่ไม่ดี แต่มาพร้อมกับวีโอไอพีนอกกรอบ ฉันจะเปลี่ยนและลบมันออกจากเทมเพลตอีเมลซึ่งง่ายพอ แต่ฉันแค่สงสัยว่าทำไม Magento ถึงทำสิ่งนี้ถ้ามันถือว่าเป็นการปฏิบัติที่ไม่ดีมานาน ฉันรู้ว่ามีข้อมูลที่ละเอียดอ่อนเพียงเล็กน้อยที่เก็บไว้ในบัญชีผู้ใช้และเราทำการตรวจสอบความถูกต้องของบัตรเครดิต แต่ "Magento Enterprise ทำเช่นนั้นดังนั้นจะต้องใช้ได้" ดูเหมือนว่าคำตอบที่ไม่ดีสำหรับฉันที่จะให้ .. นักพัฒนาของวีโอไอพีหลายคนทำสิ่งนี้บ่อยครั้งในการสร้าง 'รายการที่ต้องทำ' เมื่อสร้างเว็บไซต์ใหม่เช่นลบการตรวจสอบทางโทรศัพท์

2
Magento 2 - วิธีเพิ่มฟิลด์ที่กำหนดเองเพื่อชำระเงินและส่งไป
บทช่วยสอนทั้งหมดครอบคลุมเฉพาะการเพิ่มเขตข้อมูล แต่การบันทึกค่าของไฟล์นี้ถูกข้าม #mindblown ฉันไม่รู้ว่าทำไมมันเป็นส่วนที่สำคัญที่สุดในการเพิ่มฟิลด์หรือฟอร์มใด ๆ ฉันพยายามติดตามMagento docsแต่ ... มันแย่มาก สำหรับวัตถุประสงค์ในการทดสอบฉันพยายามเพิ่มเขตข้อมูลอื่นลงในที่อยู่สำหรับจัดส่งเพียงเพื่อละเว้นขอบเขตที่กำหนดเองชุดข้อมูลที่กำหนดเองผู้ให้บริการข้อมูลที่กำหนดเองและสิ่งอื่น ๆ ที่ไม่มีเอกสารซึ่งดูแปลกเกินไปสำหรับฉัน ฉันไม่รู้ว่าแบบฟอร์มนั้นหมายถึง "คงที่" หรือ "ไดนามิก" สำหรับฉันแบบฟอร์มเช็คเอาต์ทั้งหมดจะถูกสร้างขึ้นแบบไดนามิกที่ด้านบนของเทมเพลต KnockoutJS แต่ ... เมื่อฉันลองใช้วิธี "คงที่" ฉันสามารถเพิ่มอินพุตที่นี่ (ดังนั้นจึงเป็นรูปแบบคงที่หรือไม่?) ครั้งแรกฉันพยายามที่จะแก้ปัญหาว่าทำไมสิ่งที่น่าพิศวงสังเกตได้เพียงแค่ละเว้นสาขาของฉันในระหว่างการแยกและการส่งข้อมูล ฉันพบว่าฟิลด์ของฉันมีnameพารามิเตอร์ที่ว่างเปล่าแต่ฉันไม่สามารถจัดการวิธีการแก้ไขปัญหานี้ได้ IMO มันควรจะส่งผ่านไปยัง UI renderer องค์ประกอบผ่านinputNameพารามิเตอร์เดียวกับตัวเลือกอื่น ๆ เช่นdisabled, placeholderฯลฯ (พารามิเตอร์อื่น ๆ ทำงานได้ดีฉันจะตรวจสอบการตั้งค่าที่เกิดจาก XML ของฉันที่จะเริ่มต้นโมดูลเช็คเอาท์และดูดีสำหรับฉัน) อันดับที่สองฉันพยายามใช้วิธี "ไดนามิก" ด้วยการสร้างปลั๊กอินด้วยLayoutProcessorและส่งผ่านข้อมูลเดียวกันทั้งหมด ... และตอนนี้ฉันมีฟิลด์ที่มีnames แต่การส่งยังไม่ทำงานเลย หลังจากที่ขุดลงใน JS ฉันพบว่าการเตรียมคำขอนี้ถูกเก็บรักษาไว้ในmodule-checkout/view/frontend/web/js/model/shipping-save-processor/default.jsไฟล์ซึ่งขึ้นอยู่กับmodule-checkout/view/frontend/web/js/model/quote.jsว่ามีการกำหนด / สร้างสิ่งที่น่าสังเกตที่น่าพิศวง …

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 ข้อด้อย:ข้อ จำกัด ด้านประสิทธิภาพ / คุณสมบัติ / …

5
ประเภทการค้นหา: กดไลค์, ข้อความแบบเต็มหรือรวมกัน?
การค้นหาประเภทต่างกันแตกต่างกันอย่างไร ชอบ ข้อความเต็ม รวม ฉันสนใจเป็นพิเศษว่าพฤติกรรมการค้นหาและการเปลี่ยนแปลงประสิทธิภาพสำหรับการตั้งค่าเหล่านั้นเป็นอย่างไร

7
ดัชนีราคาใหม่เป็นสาเหตุทำให้ DB หยุดชะงักในระหว่างการเช็คเอาต์
ฉันประสบปัญหาที่ฉันเชื่อว่ากระบวนการจัดทำดัชนีราคาสินค้าใหม่ทำให้เกิดข้อยกเว้นเดดล็อกในกระบวนการชำระเงิน ฉันตรวจพบข้อยกเว้นนี้ในกระบวนการเช็คเอาต์: ข้อยกเว้นการแปลงคำสั่งซื้อ: SQLSTATE [40001]: ความล้มเหลวในการทำให้เป็นอันดับ: 1213 พบการหยุดชะงักเมื่อพยายามล็อค ลองรีสตาร์ทธุรกรรม น่าเสียดายที่ฉันไม่มีร่องรอยเต็มสแต็คเนื่องจากข้อยกเว้นถูกจับได้ แต่การตรวจสอบสถานะ INNODB ฉันสามารถติดตามการหยุดชะงักได้: SELECT `si`.*, `p`.`type_id` FROM `cataloginventory_stock_item` AS `si` INNER JOIN `catalog_product_entity` AS `p` ON p.entity_id=si.product_id WHERE (stock_id=1) AND (product_id IN(47447, 56678)) FOR UPDATE *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page …

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() …

3
APPSEC-1057 วิธีการเพิ่มตัวแปรหรือบล็อกในตารางรายการสีขาว
APPSEC-1057 (ส่วนหนึ่งของ SUPEE-6788) Magento ได้รวมรายการที่อนุญาตของบล็อกหรือคำสั่งอนุญาต หากโมดูลหรือใครก็ตามใช้ตัวแปรเช่น{{config path=”web/unsecure/base_url”}}และ {{block type=rss/order_new}}ในหน้า CMS หรืออีเมลและคำสั่งไม่ได้อยู่ในรายการนี้คุณจะต้องเพิ่มพวกเขาด้วยสคริปต์การติดตั้งฐานข้อมูลของคุณ ส่วนขยายหรือรหัสที่กำหนดเองที่จัดการเนื้อหา (เช่นส่วนขยายบล็อก) อาจได้รับผลกระทบ หากรหัสของคุณใช้ตัวแปรหรือบล็อกการกำหนดค่าบางอย่างคุณต้องสร้างสคริปต์การอัพเดทข้อมูลที่เพิ่มตัวแปรหรือบล็อกลงในตารางรายการสีขาว: คุณอนุญาตรายการตัวแปรและบล็อกที่กำหนดเองอย่างปลอดภัยได้อย่างไร

2
วิธีที่แนะนำในการโยนข้อยกเว้นใน Magento คืออะไร
วิธีการทั้งหมดต่อไปนี้ใช้ในวีโอไอพีคอร์ดังนั้นวิธีใดที่เป็นวิธีที่ต้องการ (หรือ "วิธีปฏิบัติที่ดีที่สุด") ล่าสุด? Mage::throwException('Some Message')- 732 ประเพณี throw new Exception('Some Message')- 419 ประเพณี throw Mage::exception('Vendor_Module', 'Some Message')- 94 ประเพณี (จำเป็นต้องสร้างVendor_Module_Exceptionชั้นเรียน)

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) และช่องโหว่อื่น ๆ …


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