คำถามติดแท็ก layered-navigation

2
วิธีการนำตัวกรองหลายหมวดหมู่มาใช้ในการนำทางแบบเลเยอร์ Magento 2
ฉันใช้ตัวกรองหลายหมวดหมู่สำหรับการนำทางแบบเลเยอร์ ฉันได้รับผลลัพธ์ตามความต้องการของฉัน แต่ขนาดของคอลเลกชันที่กำลังจะมานั้นยังคงเหมือนเดิมกับขนาดคอลเลกชันของผู้ปกครอง มีวิธีอื่นในการใช้ฟังก์ชันนี้หรือไม่ ฉันได้แก้ไขรหัสต่อไปนี้: public function apply(\Magento\Framework\App\RequestInterface $request) { $categoryId = $request->getParam($this->_requestVar) ?: $request->getParam('id'); if (empty($categoryId)) { return $this; } $this->dataProvider->setCategoryId($categoryId); $category = $this->dataProvider->getCategory(); **$this->getLayer()->getProductCollection()->addCategoryFilter($category);** if ($request->getParam('id') != $category->getId() && $this->dataProvider->isValid()) { $this->getLayer()->getState()->addFilter($this->_createItem($category->getName(), $categoryId)); } return $this; } แทนที่addCategoryFilter($category)ด้วยaddCategoriesFilter('eq' => $categoriesArray); แต่เนื่องจากจำนวนการนำทางแบบเลเยอร์นั้นมาจากที่อื่นไม่ใช่จากการรวบรวมผลิตภัณฑ์ อยากรู้จากที่ไหน และฉันจะใช้ตัวกรองหลายหมวดหมู่ได้อย่างไร

2
การเปลี่ยนเค้าโครงของการนำทางแบบเลเยอร์
ฉันมีการนำทางแบบเลเยอร์และลูกค้าต้องการมี<select/>เขตข้อมูลแทนรายการลิงก์ที่มีความยาว ฉันคิดถึงการเปลี่ยนแม่แบบด้วยผู้สังเกตการณ์หากชื่อ / รหัสของตัวกรองตรงกัน มีข้อคิดเห็นหรือคำแนะนำที่ดีกว่านี้ไหม ทางเลือกในการเปลี่ยนเทมเพลตอาจจะเขียนทับ / เขียนบล็อกใหม่หรือเปลี่ยนคลาสบล็อกสำหรับตัวกรองทั้งสองเท่านั้น เหตุการณ์ใดที่จะใช้สำหรับการเปลี่ยนแม่แบบ ฉันมีปัญหาเดียวกันกับที่นี่/programming/14524791/magento-enable-or-disable-a-module-in-code/14529629เพราะฉันมีผู้สังเกตการณ์ที่เปลี่ยนสิ่งโครงร่าง นี่เป็นเพียงธีมที่เกี่ยวข้อง ดังนั้นการตรวจสอบธีมก่อนใช้งานการอัปเดตอาจเป็นความคิดที่ดีใช่ไหม

2
Magento 2: ตัวกรองราคาการนำทางแบบเลเยอร์ไม่ทำงานหลังจากได้รับส่วนลดสำหรับผลิตภัณฑ์ที่กำหนดเอง
ฉันทำงานกับโมดูลส่วนลดผลิตภัณฑ์ ฉันทำมันผ่านปลั๊กอินและผู้สังเกตการณ์ มันทำงานได้ดีในหน้าผลิตภัณฑ์และหน้ารายการ แต่ตัวกรองราคาไม่ทำงานตามราคาผลิตภัณฑ์ที่อัพเดท นี่คือรหัสของฉันที่ฉันใช้เพื่อกำหนดราคา VendorName / ModuleName / etc / di.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Catalog\Pricing\Price\FinalPrice"> <plugin name="custom_discount_catalog_pricing_price_finalprice" type="VendorName\ModuleName\Plugin\FinalPrice" /> </type> </config> VendorName / ModuleName / etc / events.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <event name='catalog_product_get_final_price'> <observer name='customdiscount_finalprice' instance='VendorName\ModuleName\Observer\ProcessFinalPrice'/> </event> </config> VendorName / ModuleName / สังเกตการณ์ / ProcessFinalPrice.php <?php …

3
การนำทางแบบเลเยอร์สำหรับคอลเลกชันที่กำหนดเองในหน้ากำหนดเอง - magento2
ฉันกำลังหาข้อมูลการนำทางแบบเลเยอร์ใน magento2 เพื่อรับผลิตภัณฑ์แบบกำหนดเอง ฉันได้รับคอลเล็กชันที่กำหนดเองแล้วในเพจที่กำหนดเองจำเป็นต้องแสดงการนำทางแบบเลเยอร์ พยายามที่จะปรับแก้ปัญหา magento1 นี้แต่ไม่สามารถไปได้ไกล ความคิดใด ๆ ที่ฉันสามารถทำได้ใน magento2 สิ่งที่ฉันทำไปแล้วมีดังต่อไปนี้: ขยายแคตตาล็อก ListProduct block สำหรับรายการผลิตภัณฑ์ที่กำหนดเองในหน้ากำหนดเองของฉัน class View extends \Magento\Catalog\Block\Product\ListProduct { public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, array $data = [], \Custom\LayerNavigation\Model\Layer $testlayerobj ) { parent::__construct($context,$postDataHelper,$layerResolver, $categoryRepository,$urlHelper,$data); $this->_coreRegistry = $context->getRegistry(); $this->_testlayer = $testlayerobj; …

3
Magento 1.9.2 เพิ่มการนำทางเลเยอร์เพื่อค้นหาล่วงหน้า
ฉันได้ปฏิบัติตาม 3 ขั้นตอนสำหรับการนำทางเลเยอร์การค้นหาขั้นสูง แต่มันไม่ทำงาน ความคิด / ข้อเสนอแนะหรือวิธีการนำเลเยอร์การนำทางไปใช้ในการค้นหาขั้นสูง 1) ใน local.xml ของเราใต้แคตตาล็อก search_advanced_result เพิ่ม <reference name="left"> <block type="catalogsearch/layer" name="catalogsearch.leftnav" after="currency" template="catalog/layer/view.phtml"/> </reference> 2) แทนที่ฟังก์ชัน prepareProductCollection ของ catalogsearch / model / Layer.php ด้วย public function prepareProductCollection($collection){ if(Mage::helper('catalogsearch')->getQuery()->getQueryText())//for normal search we get the value from query string q=searchtext return parent::prepareProductCollection($collection); else{ $collection->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes()); /** …

2
เลือกมากกว่าหนึ่งรายการในการนำทางแบบเลเยอร์ (เลือกหลาย / ช่องทำเครื่องหมาย)
คุณจะทำอย่างไรแปลงนำทางชั้นมาตรฐานในการใช้ช่องหรือเลือกหลายปัจจัยที่ใช้สำหรับลักษณะของประเภทแบบเลื่อนลงหรือmultiselect ? ตัวอย่างเช่นหากผู้ใช้เลือกสีน้ำเงินและสีแดงสำหรับแอตทริบิวต์สีการนำทางแบบเลเยอร์จะแสดงรายการทั้งหมดที่ตรงกับสีน้ำเงินหรือสีแดง ดูตัวอย่างในแถบเครื่องมือในหน้านี้:


1
Magento 2 - หน้าผลิตภัณฑ์ทั้งหมดพร้อมการนำทางและการแบ่งหน้า
ผมต้องการสร้างหน้าสินค้าทั้งหมดที่มีfilters, ,toolbarpagination ฉันสามารถทำได้โดยการสร้างหมวดหมู่ใหม่ที่มีชื่อAll Productsและกำหนดผลิตภัณฑ์ทั้งหมดในนั้น แต่ฉันเดาว่านี่ไม่ใช่วิธีการที่ดีราวกับว่าทุกครั้งที่มีการเพิ่มผลิตภัณฑ์ใหม่ลงในเว็บไซต์ก็ควรเพิ่มในหมวดหมู่ผลิตภัณฑ์ทั้งหมด มีโอกาสผิดพลาดจากมนุษย์มากมาย มีวิธีเรียกเพจหมวดหมู่ด้วยหมวดหมู่ระดับรูทหรือไม่? ชอบจากID: 2 มันก็โอเคถ้าใครไม่ต้องการเขียนโค้ดให้ฉัน แต่ถ้าใครสามารถช่วยฉันหาวิธีที่จะทำมันจะดี

1
Magento 2: ข้อมูลประกอบการทำงานของการนำทางแบบเลเยอร์เป็นอย่างไร
ฉันได้สร้างโมดูลสำหรับตัวกรองที่กำหนดเองในหน้าหมวดหมู่ทุกสิ่งทำงานได้ดียกเว้นช่วงราคาในการนำทางแบบเลเยอร์ โปรดใครก็ได้อธิบายให้ฉันฟังว่า getFacetedData ('price') ทำงานอย่างไรใน magento2 $productCollection->getFacetedData('price'); ฟังก์ชั่นนี้ให้ช่วงราคาตามคอลเล็กชันผลิตภัณฑ์เริ่มต้นที่ไม่อิงคอลเลกชันที่กรองของฉัน FYI: ฉันได้รวบรวมคอลเล็กชันดังต่อไปนี้ $productCollection = $layer->getProductCollection() ->clear() ->addAttributeToSelect(['name','price']) ->addAttributeToFilter('sku', array('in' => ['sku1','sku2']));

1
การเพิ่มบล็อกการนำทางแบบเลเยอร์ในเพจที่กำหนดเอง
ใน Magento บล็อก Layered Navigation นั้นทำงานได้ดีในหน้ารายการผลิตภัณฑ์ บล็อกนี้จะถูกคัดลอกไปยังหน้ากำหนดเองได้อย่างไรมีรายการผลิตภัณฑ์ที่กำหนดเองได้อย่างไร หมายเหตุ: เพียงเพิ่มบล็อกใน XML และการโทรมันgetChildHtml('blockname')ไม่ได้เป็นการหลอกลวง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.