Magento

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

6
ฉันจะถอดรหัสค่าการกำหนดค่าที่เข้ารหัสได้อย่างไร
protected $_paymentData; protected $_scopeConfig; protected $logger; public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory, \Magento\Payment\Helper\Data $paymentData, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Payment\Model\Method\Logger $logger, \Magento\Framework\Module\ModuleListInterface $moduleList, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Directory\Model\CountryFactory $countryFactory, \Stripe\Stripe $stripe, \Inchoo\Stripe\Model\StripeFactory $stripeFactory, array $data = array() ) { parent::__construct( $context, $registry, $extensionFactory, $customAttributeFactory, $paymentData, $scopeConfig, $logger, $moduleList, $localeDate, null, …

2
ฉันจะตั้งค่าการกำหนดค่าใน Magento 2 ได้อย่างไร
ก่อนหน้านี้ (ใน Magento 1 นั่นคือ) เราได้สร้างโมดูลที่ชื่อว่า Setup ซึ่งมีการตั้งค่าสำหรับไซต์ สคริปต์อัปเกรดมีลักษณะดังนี้: $installer = $this; $installer->startSetup(); $installer->setConfigData("fastsimpleimport/general/partial_indexing", 1); $installer->setConfigData("fastsimpleimport/product/disable_preprocess_images", 1); $installer->setConfigData('general/country/default', 'GB'); $installer->setConfigData('general/locale/firstday', 1); $installer->setConfigData('general/locale/timezone', 'Europe/London'); $installer->setConfigData('general/store_information/merchant_country', 'GB'); $installer->setConfigData('design/header/welcome', 'Enter your value'); $installer->setConfigData('design/head/title_suffix', 'Enter your value'); $installer->setConfigData('currency/options/base', 'GBP'); $installer->setConfigData('currency/options/default', 'GBP'); // ... ฉันคิดไม่ออกว่าจะทำอย่างไรใน M2 กล่าวอีกนัยหนึ่ง: ฉันจะไปเกี่ยวกับการตั้งค่าข้อมูลการกำหนดค่าใน M2 ได้อย่างไร

2
วิธีใช้ Knockout JS ภายใน Magento 2
ปัญหาของฉัน: ฉันกำลังพยายามเขียนแอป Knockout JS ขนาดเล็กภายใน Magento 2 ฉันพยายามที่จะเริ่มต้นแอปเนื่องจากเมื่อฉันใช้งานko.applyBindings(AppViewModel, document.getElementById("koTest"));มันจะทำให้ Knockout ที่ใช้โดย Magento ล้มเหลวและพ่นข้อผิดพลาดนี้: Uncaught Error: You cannot apply bindings multiple times to the same element. ฉันสงสัยว่าเป็นเพราะ: ฉันสงสัยว่านี้เป็นเพราะวีโอไอพี 2 แล้วใช้ภายในko.applyBindings() app/code/Magento/Ui/view/base/web/js/lib/knockout/bootstrap.jsและนั่นไม่ได้ระบุโหนดที่ฉันไม่สามารถใช้ko.applyBindingsอีกครั้ง หากฉันไม่ได้ใช้ko.applyBindings(AppViewModel, document.getElementById("koTest"))ในรหัสของฉันแอพของฉันจะไม่เริ่มต้น นี่ทำให้ฉันคิดว่าฉันจำเป็นต้องใช้ko.applyBindings()ในสิ่งที่น่าพิศวง / bootstrap.js แต่ฉันไม่รู้ว่าจะมีใครช่วยได้บ้าง ฉันมีประสบการณ์เล็กน้อยเกี่ยวกับสิ่งที่น่าพิศวง รหัสของฉัน <script type="text/javascript"> require([ 'ko' ], function(ko) { // This is a simple …

8
รีเฟรชแคชโดยทางโปรแกรมใน Magento 2 ที่ระบบหน้าต่าง
ฉันกำลังมองหารหัสที่สามารถรีเฟรชหรือล้างแคช Magento2 ผ่านสคริปต์ได้ มันง่ายมากใน Magento 1.x ฉันใช้ Magento2 บนเซิร์ฟเวอร์ WAMP (หน้าต่าง)

5
วิธีเข้าร่วมการรวบรวมตารางการสั่งซื้อไปยังตารางที่กำหนดเองใน Magento2?
ฉันกำลังพยายามเพิ่มคอลัมน์ใหม่เพื่อสั่งซื้อกริดใน Magento 2.0 ดังนั้นฉันต้องทำการเข้าร่วมเพื่อสั่งซื้อชุดรวมตาราง ฉันจะบรรลุสิ่งนี้ได้อย่างไร เพราะใน magento2 กริดใช้องค์ประกอบ UI

2
วิธีแก้สถานะตัวทำดัชนี“ ถูกระงับ” (n in backlog)
หนึ่งในตัวจัดทำดัชนีที่กำหนดค่าให้อัพเดตตามกำหนดเวลาจะถูกล็อคในสถานะ "หยุดชั่วคราว" และไม่ได้รับการอัปเดตอีกต่อไป ผลผลิตของ bin/magento indexer:status +----------------------------+------------------+-----------+-------------------------------+---------------------+ | Title | Status | Update On | Schedule Status | Schedule Updated | +----------------------------+------------------+-----------+-------------------------------+---------------------+ | ... | | | | | | IntegerNet_Solr | Reindex required | Schedule | suspended (101028 in backlog) | 2018-09-24 15:28:44 | | ... | | | …

4
Magento 2.2 มักใช้งานโปรเซสเซอร์ช้ามากอย่างมาก 100% หลังจากการติดตั้ง: อัพเกรด
ฉันกำลังทำงานอยู่Magento 2.2, php7, Apache2บนAmazon AWS EC2 c4.largeอินสแตนซ์ แต่แม้กรณี t2.micro มักจะดีเมื่อฉันใช้มันเป็นเซิร์ฟเวอร์การพัฒนา ด้วยเหตุผลบางครั้งทุกครั้งเมื่อฉันเรียกใช้การตั้งค่า: อัปเดตหลังจากอัปเดตหนึ่งในไฟล์การติดตั้งในหนึ่งในโมดูลที่กำหนดเองของฉันหรือหลังจากการติดตั้งโมดูลบุคคลที่สามเซิร์ฟเวอร์ของฉันจะช้ามากในการโหลดหน้าการโหลดหน้านั้นใช้เวลา 1 นาที + และจะอยู่ที่ 25% การใช้งาน cpu เมื่อไม่โหลดหน้า มีผลกับเว็บไซต์คุณภาพเยี่ยมที่ฉันเรียกว่าการติดตั้ง: อัปเกรดหน้าเว็บอื่น ๆ ที่ติดตั้งคุณภาพเยี่ยมในเซิร์ฟเวอร์เดียวกันจะยังคงโหลดที่ความเร็วปกติ บางครั้งปัญหาได้รับการแก้ไขโดยการลบโมดูลที่เพิ่งอัพเกรดรีสตาร์ทเซิร์ฟเวอร์แล้วติดตั้งโมดูลใหม่โดยไม่มีการเปลี่ยนแปลงรหัสบางครั้งการติดตั้งครั้งที่สอง: อัพเกรดแก้ไขปัญหาและบางครั้งดูเหมือนว่าวิธีเดียวที่ฉันสามารถแก้ไขได้คือ โดยการติดตั้งใหม่อย่างสมบูรณ์Magento 2และโมดูล ฉันเคยมีสิ่งนี้เกิดขึ้นMagento 2.1.6, 2.1.8, 2.1.9และ2.2ชุดรูปแบบและโมดูลต่าง ๆ ทุกชนิดที่ไม่มีใครดูเหมือนจะมีปัญหากับโหมดเริ่มต้นสำหรับนักพัฒนาและผู้ผลิต แก้ไข: หมายเหตุสำคัญ หากคุณมีปัญหานี้และเช่นเดียวกับฉันมั่นใจว่าคุณไม่เคยปิดการใช้งานแคชของคุณมีปัญหาที่รับทราบในขณะนี้ (Magento 2.3) ซึ่งการทำงานcomposer updateของแคชทั้งหมดของคุณเป็นครั้งคราว ดังนั้นแม้ว่าคุณจะคิดว่าแคชของคุณเปิดใช้งานมันก็คุ้มค่าที่จะตรวจสอบอีก



5
Magento 2: แสดงบล็อกคงที่ในหน้าแรก
วิธีการแสดงบล็อกคงที่ในหน้าแรก? ฉันต้องการที่จะแสดงบล็อกคงที่ในบ้านในหน้า ฉันลบล้าง module_cms และเพิ่มรหัสนี้ใน cms_index-index แต่มันแสดงเฉพาะบล็อกสุดท้าย <referenceContainer name="content.bottom"> <block class="Magento\Cms\Block\Block" name="block_identifier"> <arguments> <argument name="block_id" xsi:type="string">block1</argument> </arguments> </block> <block class="Magento\Cms\Block\Block" name="block_identifier" after="-"> <arguments> <argument name="block_id" xsi:type="string">block2</argument> </arguments> </block> จะแสดงบล็อคทั้งหมดได้อย่างไร?
12 magento2 

3
Magento 2 ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการจัดส่ง
ฉันกำลังสร้างวิธีการจัดส่งใหม่และฉันต้องการเพิ่มคอลัมน์ใหม่เพื่อเช็คเอาต์การจัดส่ง ข้อมูลจะมาจากการตั้งค่าวิธีการจัดส่งที่กำหนดเองเช่นคำอธิบายวิธีการ หรือฟิลด์ป้อนข้อมูลบางอย่างที่ลูกค้าสามารถเพิ่มข้อมูล (ข้อมูลอาจจะถูกบันทึกไว้ในใบเสนอราคาและในภายหลังตามลำดับ) น่าจะเป็นส่วนที่ง่ายที่สุดของทั้งหมดคือการใช้แม่แบบโดยใช้ Magento_Checkout/web/template/shipping.html มันแค่ต้องการสิ่งนี้ <div data-bind="text: method.description"></div> ปัญหาคือฉันไม่สามารถหาวิธีเพิ่มข้อมูลที่กำหนดเองได้ ยังไม่พอที่จะเพิ่ม: public function collectRates(RateRequest $request) { if (!$this->isActive()) return false; $method = $this->rateMethodFactory->create(); $method->setData('carrier', $this->getCarrierCode()); $method->setData('carrier_title', $this->getConfigData('title')); $method->setData('method_title', $this->getConfigData('title')); $method->setData('method', $this->getCarrierCode()); $method->setPrice($this->_price); $method->setData('cost', $this->_price); // custom $method->setData('description', $this->getConfigData('description')); $result = $this->rateResultFactory->create(); $result->append($method); return $result; } ข้อมูลสำหรับ html มาจากอัตรา js …

1
@ media-common - ทำไมเราต้องใช้สิ่งนี้
ในเอกสารประกอบของ Magento 2 lib มันมีสิ่งต่อไปนี้: @ media-common: true | false - ตั้งค่าว่าจะแสดงผลสไตล์ทั่วไปหรือไม่ สำหรับสไตล์ทั่วไปทุกครั้งที่คุณต้องการเพิ่มสไตล์ที่คุณควรใช้ & when (@media-common = true) { your styles } คำถาม อะไรคือความแตกต่างระหว่างการใช้สิ่งนี้กับการเขียนน้อยลงหากไม่มีมัน เช่น: & when (@media-common = true) { body { background: blue; } } การรวบรวมนั้นแตกต่างกันอย่างไร: body { background: blue; } มันจะไม่ถูกส่งออกใน styles-l.css และ styles-m.css โดยไม่คำนึงถึง?

11
ข้อผิดพลาดร้ายแรง: ไม่สามารถยกตัวอย่างอินเทอร์เฟซ
ร้านวีโอไอพีของฉันขว้างปาข้อผิดพลาดนี้: ข้อผิดพลาดร้ายแรง: ไม่สามารถสร้างอินเทอร์เฟซ Magento \ Framework \ View \ Design \ Theme \ ResolverInterface ใน /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php ที่บรรทัด 73 ฉันไม่รู้ว่าทำไมมันจึงเริ่มปรากฏ ฉันไม่ได้ทำการติดตั้งโมดูลใหม่ ร้านค้าทำงานได้ดี ฉันตรวจสอบการอนุญาตของไฟล์และไม่เห็นปัญหาใด ๆ ยังลบ / var / dir และฉันคิดว่าทุกโฟลเดอร์ / ไฟล์ที่สร้างขึ้น [แก้ไข] การกำหนดค่าตามความชอบมีการกำหนดผู้จำหน่าย / magento / magento2-base / app / etc / di.xml <preference for="Magento\Framework\View\Design\Theme\ResolverInterface" type="Magento\Theme\Model\Theme\Resolver" />
12 magento2  design 

2
อะไรคือวัตถุประสงค์ของการสร้างหน้าเพจ
ฉันคิดว่าตั้งแต่อัปเดตเป็น Magento 2.3.1 ฉันมีปัญหากับการโหลดหน้าเว็บที่ไม่ได้ทำการแก้ไข (ระหว่างการพัฒนา) ผมร่องรอย blackfire.io และปรากฎว่า 42 วินาทีมีการใช้จ่ายในusleep ที่นี่ ตอนนี้ฉันสงสัยว่าจุดประสงค์ของเรื่องนี้คืออะไร ฉันเดาว่าฉันกำลังวิ่งอยู่ในสภาพการแข่งขันบางอย่าง? ไม่มีใครเคยสัมผัสกับสิ่งนี้มาก่อนหรือไม่? แก้ไข: กองการโทรดูเหมือนจะเกี่ยวข้องกับการค้า

3
ดูจำนวนผลิตภัณฑ์ที่ไม่ได้อัพเดต
มีตารางที่แตกต่างกัน 3 ตารางที่เก็บจำนวนการดูผลิตภัณฑ์ report_viewed_product_aggregated_daily report_viewed_product_aggregated_monthly report_viewed_product_aggregated_yearly หากฉันต้องการได้รับจำนวนผลิตภัณฑ์ที่ดูในปัจจุบันฉันสามารถรับได้จากตารางใด ๆ เหล่านี้ แต่ปัญหาคือเมื่อใดก็ตามที่ฉันเปิดผลิตภัณฑ์ที่ส่วนหน้าไม่มีตารางเหล่านี้แสดงผลลัพธ์ใด ๆ ที่เกี่ยวข้องกับผลิตภัณฑ์นั้น มันเป็นปัญหาคุณภาพเยี่ยมหรือไม่? ฉันคิดว่าฉันต้องตั้ง Magento cron เพื่ออัปเดตตารางเหล่านี้ทันทีเมื่อผู้ใช้เปิดผลิตภัณฑ์ แต่มันก็ไม่ได้ผลสำหรับฉัน

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