คำถามติดแท็ก multiselect-attribute

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
วิธีการตั้งค่าแอตทริบิวต์แบบหลายตัวเลือกของฉลากโดยทางโปรแกรม
หากมีคุณสมบัติแบบหลายตัวเลือกและต้องการตั้งค่าการเลือกบนผลิตภัณฑ์ $selectedOptions = "red,green,blue"; $product->..... // # what to do? ฉันจะทำสิ่งนั้นได้อย่างไร

4
รับค่าของคุณสมบัติหลายตัวเลือกที่เลือก
ใช้เวลาต่อไปนี้ "รถยนต์" ผลิตภัณฑ์: โฟล์คสวาเกนกอล์ฟ มันมีคุณสมบัติหลายcar_optionsตัวเลือกที่มีตัวเลือกที่เป็นไปได้ต่อไปและรหัสของพวกเขา: Airco (id = 123) ที่เลือก เลือกตัวเลือก (id = 124) แล้ว บลูทู ธ (id = 125) การนำทาง (id = 126) มีการเลือก Radio และ Airco สำหรับผลิตภัณฑ์นี้ ฉันจะรับค่าทั้งสองนี้ (วิทยุ, airco) และแสดงได้อย่างไร ได้รับ $ _product

2
จะสร้างแอททริบิวต์แบบเลือกหลายรายการสำหรับลูกค้าที่ใช้สคริปต์การติดตั้ง
ฉันกำลังติดตามบทความจำนวนมาก แต่ฉันไม่สามารถสร้างแอตทริบิวต์การเลือกหลายตัวได้ และฉันได้รับข้อผิดพลาดดังต่อไปนี้ a: 5: {i: 0; s: 50: "ไม่พบโมเดลต้นทาง" "สำหรับแอตทริบิวต์" exinent1 ""; i: 1; s: 3008: "# 0 C: \ wamp \ www \ magento8 \ app \ code \ หลัก และสคริปต์ของฉันคือ: <?php $installer = $this; $installer->startSetup(); $setup = new Mage_Eav_Model_Entity_Setup('core_setup'); $entityTypeId = $setup->getEntityTypeId('customer'); $attributeSetId = $setup->getDefaultAttributeSetId($entityTypeId); $attributeGroupId = …

1
การรวบรวมด้วย FIND_IN_SET ในคุณลักษณะการเลือกหลายรายการ แต่บางรายการมีเพียงค่าเดียว
ฉันกำลังสร้างชุดผลิตภัณฑ์ซึ่งจะค้นหาผลลัพธ์จากแอตทริบิวต์แบบเลือกได้หลายแบบ (รหัสที่เกี่ยวข้องที่เพิ่ม finset ให้กับคอลเลกชัน - ปรับเพื่อแสดงค่ารหัสจริง) $attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'measurement'); $value = array('finset' => array('237', '236', '235', '234', '233',)); $collection->addAttributeToFilter($attribute, $value); sql ที่เป็นผลลัพธ์ (โดยเพิ่มตัวกรอง visiblity) เป็นเช่น: SELECT DISTINCT e . *, at_measurement.value AS measurement, at_visibility.value AS visibility FROM catalog_product_entity AS e INNER JOIN catalog_product_entity_varchar AS at_measurement ON (at_measurement.entity_id = e.entity_id) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.