คำถามติดแท็ก magento-2.1

แสดงคำถามที่เกี่ยวข้องกับ Magento CE และ EE 2.1.x

5
Magento2: รับ URL สื่อในไฟล์เทมเพลต (โดยไม่เรียกผู้จัดการวัตถุโดยตรง)
วิธีรับMedia URLไฟล์เทมเพลต วิธีแก้ปัญหาทั้งหมดที่ฉันพบคือการเรียก Object Manager โดยตรง ข้อกังวลอีกข้อของฉันคุณสามารถโทรหาผู้จัดการวัตถุโดยตรงเพื่อเป็นการปฏิบัติที่ดีที่สุดได้ไหม (เพราะในโซลูชันส่วนใหญ่พวกเขาใช้ตัวจัดการวัตถุ)

2
วิธีการเรียงลำดับ (สลับ) ที่อยู่สำหรับเรียกเก็บเงินใหม่ก่อนที่จะจัดส่ง
ฉันต้องสั่งซื้อที่อยู่สำหรับการเรียกเก็บเงินอีกครั้งก่อนที่จะจัดส่ง ในความเป็นจริงตรรกะควรเป็นวิธีอื่น ๆ กว่าตอนนี้ หากที่อยู่จัดส่งแตกต่างจากที่อยู่สำหรับการเรียกเก็บเงินคุณควรจะสามารถแก้ไขได้ ตอนนี้คุณสามารถแก้ไขที่อยู่สำหรับการเรียกเก็บเงินได้ถ้ามันแตกต่างจากที่อยู่จัดส่ง ที่อยู่สำหรับการเรียกเก็บเงินควรปรากฏใน "หน้า" เดียวกันกับที่อยู่สำหรับจัดส่ง ปัจจุบันขั้นตอนที่ 1 ในขั้นตอนการชำระเงินแบบคุณภาพเยี่ยม ฉันจะทำสิ่งนี้ได้อย่างไร อาจจะมีปลั๊กอินสำหรับสิ่งนี้ แต่ฉันยังหาไม่เจอ ฉันแนบภาพหน้าจอของร้านค้าเยอรมันที่ทำแบบนี้: ฉันพบไฟล์เทมเพลต. html สำหรับแบบฟอร์มการเรียกเก็บเงินและดูเหมือนว่านี่เป็นสถานที่ที่จะสิ้นสุดใน checkout_index_index.xml: <item name="billing-step" xsi:type="array"> <item name="component" xsi:type="string">uiComponent</item> <item name="sortOrder" xsi:type="string">2</item> <item name="children" xsi:type="array"> <item name="payment" xsi:type="array"> <item name="component" xsi:type="string">Magento_Checkout/js/view/payment</item> <item name="config" xsi:type="array"> <item name="title" xsi:type="string" translate="true">Payment</item> </item> <item name="children" xsi:type="array"> <!-- …

1
ฉันจะหาค่าเริ่มต้นของระบบได้จากที่ใด magento 2.1
ฉันต้องการเปลี่ยนพื้นที่เขียน url อีกสักหน่อย - และฉันคิดว่าฉันจะถามคำถามนี้ที่ทำให้ฉันเบื่อนิดหน่อย: ตั้งค่าเริ่มต้นอยู่ที่ไหน ตัวอย่างเช่นการเขียน url ใหม่ฉันต้องยกเลิกการเลือก "ใช้ค่าระบบ" เพื่อเปลี่ยนพฤติกรรม ฉันจะเปลี่ยน "SYSTEM VALUE" นี้ได้ที่ไหน Use Categories Path for Product URLs Yes/No [x] Use system value Create Permanent Redirect for URLs if URL Key Changed Yes/No [x] Use system value

3
เปลี่ยน URL พื้นฐาน Magento2.1
ฉันเปลี่ยน URL พื้นฐานใน Magento 2.1 แล้ว แต่ใช้ไม่ได้ ขณะทำการติดตั้งฉันได้ตั้ง url พื้นฐานwww.domain1.netไว้ที่ www.domain2.netฉันจำเป็นต้องเปลี่ยนไป สิ่งที่ฉันพยายาม: อัปเดต baseurl ในcore_config_data: UPDATE core_config_data SET value = 'http://www.domain2.net/' WHERE path IN ('web/secure/base_url', 'web/unsecure/base_url'); แทนที่ design/head/includes/ UPDATE core_config_data SET value = REPLACE(value, 'http://www.domain1.net/', 'http://www.domain2.net/') WHERE path = 'design/head/includes'; จากนั้นเปลี่ยน URL ร้านค้า php bin/magento setup:store-config:set --base-url="http://www.domain2.net/" php bin/magento setup:store-config:set …

4
Magento 2 เพิ่มรายการแบบเลื่อนลงเพื่อวิธีการจัดส่ง
ฉันพัฒนาวิธีการจัดส่งสำหรับ บริษัท ขนส่งบางแห่ง บริษัท นี้มีสำนักงานหลายแห่งที่ลูกค้าสามารถรับออเดอร์ได้ ฉันสามารถรับรายชื่อสำนักงานโดยсityในAPIแต่ตอนนี้ฉันไม่ได้เป็นตัวแทนของขั้นตอนนี้ดีขึ้นกว่าเดิมอีกแล้ว? สำหรับตอนนี้ฉันเพิ่งตั้ง\Magento\Quote\Model\Quote\Address\RateResult\Method สำนักงานใหม่ทุกแห่งในเมืองในเมืองใหญ่มันนับ> 100และฉันคิดว่ามันไม่ดีมากที่จะกำหนด 100 บรรทัดในการชำระเงิน มันจะเป็นโมดูลสาธารณะสำหรับการออกแบบเช็คเอาต์ที่แตกต่างกันดังนั้นฉันจะแสดงใกล้วิธีการจัดส่งของฉันที่เลือกรายการแบบเลื่อนลงที่มีรายชื่อของสำนักงานและกำหนดราคาและวิธีการหลังจากที่ผู้ใช้เลือกอย่างใดอย่างหนึ่ง

5
เกิดข้อผิดพลาดในหน้าผลิตภัณฑ์เมื่อคุณมีผลิตภัณฑ์ที่เกี่ยวข้องและเปิดใช้งานแคชหน้าเต็ม
ฉันได้รับข้อผิดพลาดนี้ในผลิตภัณฑ์บางตัวที่มีผลิตภัณฑ์ที่เกี่ยวข้อง: Warning: Invalid argument supplied for foreach() in vendor/magento/module-catalog/Block/Product/ProductList/Related.php on line 129 ปัญหานี้เกิดขึ้นเฉพาะเมื่อแคชหน้าเต็มเปิดอยู่ น่าเสียดายที่การปิดใช้งานไม่ใช่ตัวเลือกเนื่องจากความแตกต่างของความเร็วมีขนาดใหญ่มาก (เร็วกว่า 2 วินาทีกับหน้าแคช) ฉันลองทุกอย่างที่ฉันรู้: เอาธีมโมดูลที่กำหนดเอง ฯลฯ สภาพแวดล้อม: การผลิต 2.1.0 วานิช นี่คือการติดตามสแต็กเต็ม: a:4:{i:0;s:190:"Warning: Invalid argument supplied for foreach() in vendor/magento/module-catalog/Block/Product/ProductList/Related.php on line 129";i:1;s:5441:"#0 vendor/magento/module-catalog/Block/Product/ProductList/Related.php(129): Magento\Framework\App\ErrorHandler->handler(2, 'Invalid argumen...', '/home/11396-492...', 129, Array) #1 var/generation/Magento/Catalog/Block/Product/ProductList/Related/Interceptor.php(37): Magento\Catalog\Block\Product\ProductList\Related->getIdentities() #2 vendor/magento/module-page-cache/Model/Layout/LayoutPlugin.php(71): Magento\Catalog\Block\Product\ProductList\Related\Interceptor->getIdentities() #3 …

7
เพิ่มส่วนหัวและส่วนท้ายในหน้าชำระเงิน Magento2
โดยค่าเริ่มต้น Magento 2 ไม่ได้ให้HEADERและFOOTERในหน้าตรวจสอบ ดังนั้นฉันตรวจสอบไฟล์checkout_index_index.xmlบนพา ธ app/design/frontend/package_name/theme_name/Magento_Checkout/layout/override/base มีชุดคุณลักษณะการลบสำหรับส่วนหัวและส่วนท้าย ดังนั้นฉันแอตทริบิวต์ลบล้างจากลบ = trueเพื่อลบ = false แต่ส่วนหัวและท้ายกระดาษยังคงไม่แสดงในหน้าชำระเงินดังนั้นทุกคนสามารถบอกได้ว่าฉันจะรับส่วนหัวและส่วนท้ายในหน้าเช็คเอาต์ได้อย่างไร

1
Magento 2.1 Ui ฟิลด์ฟอร์มส่วนประกอบ Token input
ฉันต้องการเพิ่มแท็กในฟิลด์อินพุตในลักษณะคล้ายกันกับที่ทำในรูปแบบผลิตภัณฑ์เพื่อเพิ่มหมวดหมู่ - ซึ่งแสดงในภาพด้านล่าง งานนี้มากที่ฉันประสบความสำเร็จโดยการเพิ่มองค์ประกอบของฟิลด์ในรูปแบบ Custom Ui <field name="parent"> <argument name="data" xsi:type="array"> <item name="options" xsi:type="object">Magento\Catalog\Ui\Component\Product\Form\Categories\Options</item> <item name="config" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Tags</item> <item name="componentType" xsi:type="string">field</item> <item name="formElement" xsi:type="string">select</item> <item name="component" xsi:type="string">Magento_Catalog/js/components/new-category</item> <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item> <item name="dataScope" xsi:type="string">data.parent</item> <item name="filterOptions" xsi:type="boolean">true</item> <item name="showCheckbox" xsi:type="boolean">false</item> <item name="disableLabel" xsi:type="boolean">true</item> <item name="multiple" xsi:type="boolean">true</item> <item name="levelsVisibility" …

4
Magento 2 - รวบรวมผลิตภัณฑ์ที่กำหนดเองผ่าน list.phtml
ตารางผลิตภัณฑ์ของหน้าหมวดหมู่ (ส่วนหน้า) จะแสดงผลผ่านทางรูปแบบในcatalog_category_view.xml ให้บอกว่าฉันมีคอลเลกชันผลิตภัณฑ์ที่กำหนดเอง (ซึ่งฉันได้ผ่าน ProductRepositoryInterface::getList($searchCriteria) method ในคลาสบล็อกที่กำหนดเองและต้องการแสดงคอลเลกชันนี้ ผลลัพธ์ที่แสดงควรแสดงเป็นกริดผลิตภัณฑ์ที่ส่วนหน้า (เช่นเดียวกับหน้าหมวดหมู่ใด ๆ ) สิ่งนี้สามารถทำได้? การดูcatalog_category_view.xmlมีสองบรรทัดที่สำคัญซึ่งรับผิดชอบในการเรนเดอร์การรวบรวมผลิตภัณฑ์: <block class="Magento\Catalog\Block\Category\View" name="category.products" template="Magento_Catalog::category/products.phtml"> <block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Magento_Catalog::product/list.phtml"> ฉันจะมอบชุดผลิตภัณฑ์ที่กำหนดเองของฉันให้กับไฟล์เทมเพลตเหล่านี้ได้อย่างไร ถูกต้องฉันถ้าฉันผิดในเรื่องนี้ นี่คือลักษณะของรหัสบล็อกของฉัน: <?php namespace Mod\Mod1\Block; use Magento\Framework\View\Element\Template; class Main extends Template { protected $_filterBuilder; protected $_filterGroupArray; protected $_filterGroupBuilder; protected $_searchCriteriaBuilder; protected $_productRepository; protected $_productFactory; protected $_list; …

1
Magento 2.1 การเพิ่มปัญหาประเภทองค์ประกอบใหม่
ฉันเพิ่มประเภทองค์ประกอบแบบฟอร์มใหม่ที่เรียกว่าCompany\Module\Data\Form\Element\PdfButtonเมื่อเป็นversion EE 2.0.7และใช้องค์ประกอบนี้ในแท็บที่กำหนดเอง (เพิ่มโดยการแทนที่Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs) ของหน้าผู้ดูแลระบบแก้ไขผลิตภัณฑ์ หลังจากอัปเกรดเป็น Magento EE 2.1 แล้วแท็บที่กำหนดเองก็หายไป เพื่อให้มันปรากฏขึ้นฉันได้เพิ่มตัวปรับแต่งเพื่อสร้างแท็บใหม่ในหน้าผลิตภัณฑ์ ฉันเพิ่มแท็บใหม่โดยการคัดลอกโมดิฟายเออร์ในไฟล์ผู้ขายและฉีดไปยังโมดูลของฉัน แต่เมื่อฉันต้องการใช้องค์ประกอบที่กำหนดเองของฉัน ดังนั้นในฟิลด์ children ของ meta array ฉันเพิ่มรหัสต่อไปนี้: $children[$website['id']] = [ 'arguments' => [ 'data' => [ 'config' => [ 'dataType' => Form\Element\DataType\Number::NAME, 'componentType' => Form\Field::NAME, 'formElement' => Form\Element\Wysiwyg2::NAME, 'description' => __($website['name']), 'tooltip' => $tooltip, 'sortOrder' => $sortOrder, 'dataScope' …

1
ตัวเลือกผลิตภัณฑ์ Magento2 Catalog
เราพบปัญหานี้เมื่อทำงานในการเริ่มต้นMagento2.1 ในขณะที่สร้างตัวเลือกที่ปรับแต่งได้สำหรับผลิตภัณฑ์ถ้าฉันเลือกฟิลด์ดรอปดาวน์เป็นครั้งที่สองสปินเนอร์จะไม่หยุดโหลด กรุณาค้นหาภาพหน้าจอด้านล่าง: ฉันคิดว่านี่เป็นข้อผิดพลาดหลักของMagento2ทุกคนสามารถยืนยันและแนะนำวิธีแก้ไขได้หรือไม่ ขอบคุณ

2
วิธีที่ดีที่สุดในการโหลดโมเดลที่กำหนดเองใน Magento 2
เพราะมันยากสำหรับฉันที่จะหาวิธีที่ถูกต้องด้านล่างคุณจะได้พบกับแนวปฏิบัติที่ดีที่สุดที่ฉันสร้างขึ้นมา สนุกแก้ไขภาษาอังกฤษของฉันถ้าจำเป็นและบอกฉันฉันผิดถ้าฉันเป็น :) แก้ไข: ... และฉันพบว่าฉันผิดในบางแง่มุม ดังนั้นฉันจึงอัพเดทโพสต์ต้นฉบับหลังจากคำตอบของราฟาเอลช่วยให้ฉันเข้าใจมากขึ้น ขอบคุณเขา! แนวคิดที่ใช้ด้านล่าง : มันจะง่ายขึ้นสำหรับคุณที่จะเข้าใจรหัสและคำอธิบายด้านล่างหากคุณพอใจกับแนวคิดเหล่านี้: การฉีดขึ้นอยู่กับ (เป็นทุก ๆ $this->variableตัวแปรในรหัสจะถูกฉีด) สัญญาบริการและพื้นที่เก็บข้อมูล โรงงาน บริบท : เพื่อให้มีบริบทมากขึ้นลองจินตนาการว่าเรามีโมดูลที่สร้างอย่างถูกต้องด้วย: คลาสบล็อก CustomBlock ที่มีเมธอด getCustomModel($id) , เมธอดนี้ส่งคืนออบเจกต์ CustomModel โดยอิงจาก id ที่ส่งเป็น param ประเภท CustomModel สอดคล้องกับรูปแบบใน \Vendor\Module\Model\CustomModel โมเดลนี้มาพร้อมกับโมเดลทรัพยากร (ใน \Vendor\Module\Model\ResourceModel\CustomModel ) และด้วยที่เก็บ (ใน\Vendor\Module\Model\CustomModelRepository) คำถาม : แนวปฏิบัติที่ดีที่สุดในการปล่อยให้ทุกสิ่งโหลดวัตถุ CustomModel คืออะไร คุณไม่สามารถใช้load()จากวัตถุ CustomModel เนื่องจากวิธีนี้เลิกใช้แล้ว แนวปฏิบัติที่ดีบอกว่าคุณต้องใช้ …

3
Magento 2 StoreManagerInterface มีอยู่แล้วในบริบทวัตถุในการรวบรวม
ฉันได้รับข้อผิดพลาดนี้ในส่วนขยายของฉัน PackageName \ ModuleName \ Block \ Enhanced การ พึ่งพาที่ไม่ถูกต้องในคลาส PackageName \ ModuleName \ Block \ Enhanced ใน /var/www/html/app/code/PackageName/ModuleName/Block/Enhanced.php \ Magento \ Store \ Model \ StoreManagerInterface มีอยู่แล้วใน วัตถุบริบท public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Session $catalogSession, \Magento\Store\Model\StoreManagerInterface $storeManager, array $data = [] ) { parent::__construct($context, $data); $this->_catalogSession = $catalogSession; $this->_storeManager …

1
พารามิเตอร์การกำหนดค่า“ componentType” จำเป็นสำหรับส่วนประกอบ“ advanced_pricing_button” | อัพเกรด Magento 2.0.7 => 2.1.0
หลังจากปัญหามากมายฉันจัดการเพื่ออัปเดต Magento 2.0.7 => Magento 2.1.0 หลังจากตรวจสอบการอัพเกรดฉันเห็น 2 ประเด็น: 1. ส่วนหน้าไม่แสดงผลิตภัณฑ์ใด ๆ 2. เมื่อฉันต้องการแก้ไขผลิตภัณฑ์ในผู้ดูแลระบบฉันได้รับข้อผิดพลาดต่อไปนี้: 1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component. #0 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false) #1 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, …

5
โครงสร้างที่ต้องการของโครงการ Magento 2 ภายใต้ VCS คืออะไร?
เมื่อฉันเริ่มโครงการ M2 ใหม่สิ่งแรกที่ฉันจะทำคือติดตั้งคอร์ผ่านทางผู้แต่ง: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition ตอนนี้ฉันสามารถเขียนโมดูลและธีมที่กำหนดเองของฉันapp/codeได้ที่ด้านล่าง ฉันจะเพิ่มโฟลเดอร์ของฉันcomposer.*และapp/codeโฟลเดอร์ทั้งหมดลงใน VCS ของฉัน จนถึงทุกอย่างก็โอเค สมมติว่าตอนนี้ฉันต้องการใช้เครื่องมือสร้างสำหรับโครงการของฉันสมมติว่า Grunt หรืออึก ถ้าฉันทำเองGruntfile.jsสิ่งนี้จะถูกเขียนทับโดยmagento/magento2-baseแพ็คเกจเมื่อฉันวิ่งcomposer installหลังจากฉันลอกแบบ repo ถ้าฉันกระทำของฉันgulpfile.jsฉันไม่สามารถจริงๆกำหนดอ้างอิงของฉันในเพราะมันก็จะถูกเขียนทับโดยpackage.jsonmagento/magento2-base ถ้าผมตัดสินใจที่จะใช้การตั้งค่าฮึดฮัดวีโอไอพีและต้องการปรับแต่งได้โดยการแก้ไขไฟล์ที่อยู่ภายใต้/dev/tools/grunt(เช่นthemes.js) magento/magento2-baseผมไม่ได้เพราะการเปลี่ยนแปลงของฉันจะถูกเขียนทับโดย ความเข้าใจของฉันคือคุณไม่สามารถทำอะไรได้มากในรูทเอกสารของคุณ มีวิธีแก้ไขปัญหานี้มากมาย: ฉันสามารถเรียกใช้งานได้git checkout -ทันทีหลังจากการติดตั้งเพื่อรีเซ็ตไฟล์ของฉันเอง ฉันจะเก็บสร้างไฟล์ของฉันในโฟลเดอร์เฉพาะ/buildตัวอย่างเช่น ฉันสามารถใช้เครื่องมือสร้างที่แตกต่างกันเช่น Phing, Ant หรือ Rake (ส่วนหน้าของฉันจะไม่มีความสุขเลย) ฉันสามารถแทนที่magento/magento2-baseด้วยแพ็คเกจแบบกำหนดเองที่มีการแมปแบบกำหนดเองสำหรับไฟล์หลัก (ไม่ดีที่สุด แต่จริงๆแล้วมันเป็นตัวเลือก) ฉันไม่ชอบตัวเลือกทั้งหมดเหล่านี้เป็นการส่วนตัวดังนั้นฉันจึงอยากทราบว่ามีวิธีที่ต้องการหรือดีกว่าเพื่อให้บรรลุสิ่งที่ฉันพยายามทำ ทุกคนมีปัญหาเดียวกันหรือไม่ คุณแก้ปัญหาอย่างไร คุณจัดโครงสร้างโครงการภายใต้ VCS อย่างไร UPDATE จุดพิเศษที่เกี่ยวข้องกับการตั้งค่าโครงการ ในการทดลองของฉันฉันสังเกตเห็นว่าตัวติดตั้งตัวแต่ง Magento มีการตั้งค่าสถานะสำหรับการแทนที่ไฟล์: "extra": { "magento-force": …

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