Magento में मूल्य सूचकांक को स्पष्ट करने में कोई भी मेरी मदद कर सकता है? मैं संस्करण 1.9 का उपयोग कर रहा हूं।
मेरा कार्य : होम पेज में विशेष रुप से प्रदर्शित उत्पादों का प्रतिपादन।
मेरा समाधान : "विशेष रुप से प्रदर्शित उत्पाद" नामक श्रेणी बनाने के बजाय। मैंने एक विशेषता "is_featured" बनाई है, इसलिए मैं केवल उस विशेषता के साथ उत्पाद को फ़िल्टर करता हूं जो अपेक्षित परिणाम प्राप्त करने के लिए सही है।
निर्मित में विजेट Mage_Catalog_Block_Product_Widget_New , उत्पाद संग्रह प्राप्त करने के लिए मेरा कार्य:
protected function _getProductCollection()
{
/** @var $collection Mage_Catalog_Model_Resource_Product_Collection */
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
$collection = $this->_addProductAttributesAndPrices($collection)
->addStoreFilter()
->addAttributeToFilter('is_featured', array('eq' => true))
->setPageSize($this->getProductsCount())
->setCurPage(1);
return $collection;
}
परिणाम: कुछ उत्पाद दिखाई देते हैं, लेकिन कुछ अन्य गायब हैं। जब SQL डीबगिंग, मैं देखता हूं:
SELECT
`e`.*,
`cat_index`.`position` AS `cat_index_position`,
`price_index`.`price`,
`price_index`.`tax_class_id`,
`price_index`.`final_price`,
IF(price_index.tier_price IS NOT NULL,
LEAST(price_index.min_price,
price_index.tier_price),
price_index.min_price) AS `minimal_price`,
`price_index`.`min_price`,
`price_index`.`max_price`,
`price_index`.`tier_price`,
`at_is_featured`.`value` AS `is_featured`
FROM
`catalog_product_entity` AS `e`
INNER JOIN
`catalog_category_product_index` AS `cat_index` ON cat_index.product_id = e.entity_id
AND cat_index.store_id = '1'
AND cat_index.visibility IN (2 , 4)
AND cat_index.category_id = '2'
INNER JOIN
`catalog_product_index_price` AS `price_index` ON price_index.entity_id = e.entity_id
AND price_index.website_id = '1'
AND price_index.customer_group_id = 0
INNER JOIN
`catalog_product_entity_int` AS `at_is_featured` ON (`at_is_featured`.`entity_id` = `e`.`entity_id`)
AND (`at_is_featured`.`attribute_id` = '210')
AND (`at_is_featured`.`store_id` = 0)
WHERE
(at_is_featured.value = '1')
LIMIT 6
समस्या यहाँ है, कैटलॉग_संगोरी_प्रोडक्ट_इंडेक्स , इस तालिका में कुछ उत्पाद गायब है? लेकिन मुझे नहीं पता, कुछ उत्पादों के सूचकांक में कमी क्यों हो रही है? मैंने अपेक्षित परिणामों के बिना कई बार री-इंडेक्स की कोशिश की है! कोई मुझे मदद कर सकता है? आपका बहुत बहुत धन्यवाद!