कुछ उत्पाद तालिका कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस में गायब हैं!


11

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

समस्या यहाँ है, कैटलॉग_संगोरी_प्रोडक्ट_इंडेक्स , इस तालिका में कुछ उत्पाद गायब है? लेकिन मुझे नहीं पता, कुछ उत्पादों के सूचकांक में कमी क्यों हो रही है? मैंने अपेक्षित परिणामों के बिना कई बार री-इंडेक्स की कोशिश की है! कोई मुझे मदद कर सकता है? आपका बहुत बहुत धन्यवाद!


मैं एक ही मुद्दे के साथ काम कर रहा हूँ। कोइ भाग्य?
छंद 8

जवाबों:


2

यदि कोई उत्पाद मूल्य सूचकांक से गायब है, तो यह आमतौर पर है क्योंकि यह वर्तमान वेबसाइट से जुड़ा नहीं है।

यह पता लगाने के लिए कि उत्पादों को कैसे अनुक्रमित किया जाता है, मूल्य इंडेक्सर को चलाएं और क्वेरी को Mage_Catalog_Model_Resource_Product_Indexer_Price_Default::_prepareFinalPriceData()लगभग 285 लाइन में डिबग करें ( prepare_catalog_product_index_selectघटना ट्रिगर होने के बाद)

यह साधारण उत्पादों के लिए है। अन्य उत्पाद प्रकारों के लिए, यह उनके अनुक्रमणिका अनुक्रमण कार्यान्वयन (उपवर्ग Mage_Catalog_Model_Resource_Product_Indexer_Abstract) में समान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.