คำถามติดแท็ก product-collection

คำถามที่เกี่ยวข้องกับคอลเลกชันผลิตภัณฑ์ Magento

3
วิธีโหลดรูปภาพสื่อในคอลเลกชันผลิตภัณฑ์ได้เร็วขึ้น
TL; DR : ฉันจะโหลดรูปภาพ / แกลเลอรี่ผลิตภัณฑ์โดยไม่ต้องโหลดผลิตภัณฑ์ทั้งหมดได้อย่างไร ฉันต้องการโหลดภาพบนผลิตภัณฑ์ ฉันทำอะไรใน. phtml $_popularCollection = $this->getPopularCollection(); foreach ($_popularCollection as $_product): // the rest $mediaGallery = $_product->getMediaGalleryImages(); endforeach; //the rest สิ่งที่ฉันทำในคลาส Block: public function getPopularCollection() { // http://magento.stackexchange.com/q/5838/3089 // no category if ( is_null( $this->getCategoryId() ) ) return false; /** @var Mage_Catalog_Model_Category $category */ $category …

6
วิธีรับไอเท็มแรกจากการรวบรวมผลิตภัณฑ์
ในหมวดหมู่ view.phtml หากฉันได้รับหมวดหมู่จากนั้นรับชุดผลิตภัณฑ์ฉันจะได้รับผลิตภัณฑ์รูปแบบแรกจากกลุ่มที่กำหนดให้กับ $ _product เพื่อใช้ในรหัสได้อย่างไร นี่คือสิ่งที่ฉันมี: $_category = $this->getCurrentCategory(); $_collection = $_category->getProductCollection(); $_product = $_resource = $_product->getResource(); ฉันลองใช้ foreach แล้วแต่ได้รับข้อผิดพลาด

7
รับชุดผลิตภัณฑ์จากรหัสหมวดหมู่
ฉันพยายามรับชุดผลิตภัณฑ์จากรหัสหมวดหมู่ มีบางสิ่งที่ฉันลองอยู่ในบล็อก: $category = Mage::getModel('catalog/category')->load(123) ->getProductCollection(); และ $category = Mage::getModel('catalog/category')->load(123); $products = $category->getProductCollection()->addCategoryFilter($category) ->addAttributeToFilter('type_id', 'simple') ->addAttributeToSelect('*'); ก็ลองทำมันจาก phtml $oCatId = Mage::getModel('catalog/category')->load(769); $products->addCategoryFilter($oCatId); ไม่มีการทำงานนี้ แต่ฉันไม่เห็นข้อผิดพลาดใด ๆ ฉันเห็นโพสต์อื่นที่ดูเหมือนคำถามเดียวกัน: วีโอไอพี - รับผลิตภัณฑ์จากหมวดหมู่เฉพาะแต่วิธีการนั้นไม่ได้ผลสำหรับฉันเช่นกัน ขอบคุณสำหรับความช่วยเหลือใด ๆ !

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: เรียงลำดับและ จำกัด การรวบรวมผลิตภัณฑ์
ฉันต้องการเรียงลำดับการรวบรวมผลิตภัณฑ์ตามคำสั่ง ID DESC และเพิ่มขีด จำกัด ในการรวบรวมผลิตภัณฑ์ นี่คือรหัสของฉัน: $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory'); $collection = $productCollection->create() ->addAttributeToSelect('*') ->load();

1
Magento 2 เราจะรับ URL ผลิตภัณฑ์พร้อมการรวบรวมผลิตภัณฑ์ได้อย่างไร
ฉันสามารถโหลดชุดผลิตภัณฑ์โดยใช้ [$objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection')] ในไฟล์ phtml ของฉัน แต่ใน url ผลิตภัณฑ์คอลเลกชันนั้นไม่มีเราจะได้รับ url ของผลิตภัณฑ์ด้วยคอลเลกชันนั้นได้อย่างไร


4
วิธีการกรองผลิตภัณฑ์ไม่อยู่ในหมวดหมู่?
นี่คือรหัสของฉัน: $catIds = array(7,8,9); $collection = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect("*"); ->addAttributeToFilter('category_ids', array('nin' => $catIds)); ฉันต้องการรับผลิตภัณฑ์ทั้งหมดที่ไม่อยู่ในรายการรหัสหมวดหมู่ แต่รหัสของฉันไม่ได้ให้ผลลัพธ์ที่คาดหวัง กรุณาช่วยบอกทางหน่อย

2
Magento 2: การรวบรวมผลิตภัณฑ์กรองตามหลายหมวดหมู่ (Magento 2.1)
ฉันใช้Magento 2.1.0และตอนนี้ฉันมีปัญหาในการกรองชุดผลิตภัณฑ์ที่มีหลายหมวดหมู่ ฉันใช้มากกว่าสองวิธีในการทำให้มันใช้งานได้ แต่ก็ไม่เป็นเช่นนั้น สมมติว่า: $catalog_ids = [618, 619, 620]; ส่งคืน NULL $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addCategoriesFilter(array('in' => $catalog_ids)); ส่งคืนข้อยกเว้น: ชื่อแอตทริบิวต์ไม่ถูกต้อง: category_id $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_id', array( 'finset' => $catalog_ids )); ส่งคืนข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_ids', array( 'finset' => $catalog_ids )); คำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันสามารถมีงานนี้หรือมีบางสิ่งบางอย่างเชื่อมโยงงานนี้

2
กรองการรวบรวมผลิตภัณฑ์ตามคุณลักษณะผลิตภัณฑ์ย่อย
ฉันมีสถานการณ์เช่น 2 คุณลักษณะซึ่งกำหนดให้กับผลิตภัณฑ์เด็ก 1) person_height_fromและ 2) person_height_toซึ่งมีแอตทริบิวต์ประเภทDropDown ซึ่งกำหนดให้เฉพาะในผลิตภัณฑ์สำหรับเด็ก แต่ไม่ได้กำหนดในผลิตภัณฑ์หลัก ฉันต้องการกรองชุดผลิตภัณฑ์ในหน้าหมวดหมู่ด้วยแอตทริบิวต์นี้ ชอบ length = 175 $collection->addAttributeToFilter('person_height_from', array('lteq' => $length)); $collection->addAttributeToFilter('person_height_to', array('gteq' => $length)); เป็นไปได้ไหมที่จะรับเฉพาะผลิตภัณฑ์แม่ในหน้าหมวดหมู่ที่ผลิตภัณฑ์ย่อยกำหนดค่าไว้ด้านบน ความช่วยเหลือของคุณจะได้รับการชื่นชม

2
ปัญหาการรวบรวมสินค้า - ข้อมูลการกำหนดราคาไม่ถูกต้องหรือไม่แสดงสินค้าหมด
ฉันกำลังรับชุดผลิตภัณฑ์ตามหมวดหมู่ปัจจุบัน ฉันต้องการชุดสะสมนี้ที่มีทั้งในและนอกสต็อกสินค้าและฉันยังต้องการข้อมูลการกำหนดราคาที่จะแสดงอย่างถูกต้อง ร้านค้าของฉันได้รับการกำหนดค่าให้จัดเก็บการกำหนดราคาผลิตภัณฑ์รวมภาษีและแสดงราคาทั้งแบบรวมและแบบเอกสิทธิ์เฉพาะบุคคลที่หน้าร้าน รหัสสำหรับรับคอลเล็กชันมีดังนี้: $category = Mage::registry('current_category'); $_productCollection = Mage::getModel('catalog/product')->getCollection() ->addCategoryFilter($category) ->addAttributeToSelect(['sku', 'name', 'price']) ->addAttributeToFilter('status', 1) ->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC); ปัญหาข้างต้นคือเมื่อโหลดบล็อกราคาโดยใช้getPriceHtml()วิธีราคาทั้งแบบรวมและแบบเอกสิทธิ์จะแสดงเป็นราคาแบบรวม หลังจากการวิจัยบางอย่างฉันพบว่าการเพิ่มaddFinalPrice()วิธีการในการเก็บรวบรวมของฉันทำให้ฉันคาดหวังการกำหนดราคา - ราคารวมพิเศษที่ถูกต้องและถูกต้อง อย่างไรก็ตามหากฉันรวมaddFinalPrice()วิธีการไว้ด้วยแล้วคอลเล็กชันของฉันจะไม่มีสินค้าหมดอีกต่อไป มีวิธีการส่งคืนข้อมูลการกำหนดราคาที่ถูกต้องและการรวบรวมมีทั้งที่ขายได้และหมดสินค้าหรือไม่

4
วิธีการรับสินค้าหมดรายการ - ตรงข้าม addInStockFilterToCollection ()
ฉันมีความต้องการที่จะแสดงผลิตภัณฑ์ของหมวดหมู่ในสองรายการ - หนึ่งสำหรับในรายการสต็อก, อื่น ๆ สำหรับรายการหมด ฉันกำลังใช้ Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection() เพื่อกรองคอลเลกชันผลิตภัณฑ์ของฉันสำหรับรายการในสต็อก แต่ดูเหมือนจะไม่มีวิธีที่เทียบเท่าในการกรองสำหรับรายการที่หมด - ฉันได้ดูMage_CatalogInventory_Model_Stockแบบจำลองซึ่งเป็นที่ที่กำหนดวิธีการดังกล่าวข้างต้น ฉันได้เห็นตัวอย่างต่อไปนี้สำหรับการดึงสินค้าออกจากสต็อก: $collection->joinField( 'is_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', '{{table}}.stock_id=1', 'left' ) ->addAttributeToFilter('is_in_stock', array('eq' => 0)); ... แต่แน่นอนว่านี่ไม่ใช่เพียงหรือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?

4
โหลดการรวบรวมผลิตภัณฑ์อย่างง่าย (ทั้งในสต็อกและหมด)
ฉันประสบปัญหาในการโหลดผลิตภัณฑ์ "เด็ก" ทั้งหมดของผลิตภัณฑ์ที่กำหนดค่าได้ลงในคอลเล็กชันแม้กระทั่งสินค้าที่หมด ชอบโหลดผลิตภัณฑ์เช่นนี้: $simpleCollection = $configurable->getUsedProductCollection() ->addAttributeToSelect('*') ->addFilterByRequiredOptions(); foreach ($simpleCollection as $simple) { //$simple->getName(); } จะไม่สนใจผลิตภัณฑ์สำหรับเด็กที่ไม่มีในสต็อกอาจเป็นเพราะพวกเขาไม่ได้อยู่ในตารางราคาที่เข้าร่วม มีตัวเลือกอื่นโดยไม่ต้องโหลดรหัสเด็กทั้งหมดโดยgetChildrenIdsแล้วโหลดผลิตภัณฑ์ง่าย ๆ พร้อมโหลดหรือไม่

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.