कोई छवि के साथ उत्पाद का पता लगाएं


9

क्या उन उत्पादों की सूची खोजने के लिए क्वेरी चलाना संभव है, जिनके साथ उन्हें कोई चित्र नहीं सौंपा गया है? आदर्श रूप से मैं स्क्रीन पर प्रिंट किए गए SKUs चाहूंगा।

जवाबों:


16

आप नीचे दिए गए कोड के लिए संग्रह पा सकते हैं।

$_products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter(array(
        array (
            'attribute' => 'image',
            'like' => 'no_selection'
        ),
        array (
            'attribute' => 'image', // null fields
            'null' => true
        ),
        array (
            'attribute' => 'image', // empty, but not null
            'eq' => ''
        ),
        array (
            'attribute' => 'image', // check for information that doesn't conform to Magento's formatting
            'nlike' => '%/%/%'
        ),
    ));

आप सभी उत्पाद सूची प्राप्त कर सकते हैं जिसमें कोई चित्र असाइन नहीं है।


9

यदि आप केवल वही उत्पाद चाहते हैं जो आपके पास नहीं हैं image, small_imageया thumbnailअसाइन किए गए हैं , तो @KeyulShah या @TBIInfotech के उत्तर आपको बस इतना ही देंगे।

यदि आप ऐसे उत्पाद चाहते हैं जिनकी कोई छवि नहीं है, तो आप इस क्वेरी को डेटाबेस पर चला सकते हैं और उन्हें प्राप्त कर सकते हैं।

SELECT
    e.sku, COUNT(m.value) as cnt
FROM
    catalog_product_entity e 
    LEFT JOIN catalog_product_entity_media_gallery m
        ON e.entity_id = m.entity_id
GROUP BY
    e.entity_id
HAVING
    cnt = 0

यदि आप havingस्टेटमेंट निकालते हैं, तो आपको प्रोडक्ट स्कोस और उन्हें सौंपे गए चित्रों की संख्या के साथ 2 कॉलम का परिणाम मिलेगा।

आप बस एक सीएसवी के रूप में निर्यात कर सकते हैं।


किसी भी तरह से यह Magento2 में काम करेगा!
अमित सिंह

शायद, लेकिन मैं इसे गारंटी नहीं दे सकते
मेरियस

5

@Keyul shah ने जो वर्णन किया है, उसके लिए एक छोटा संशोधन, बस magento रूट पर कोड डालें:

<?php 

require 'app/Mage.php';
Mage::app();
$_products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter(array(
        array (
            'attribute' => 'image',
            'like' => 'no_selection'
        ),
        array (
            'attribute' => 'image', // null fields
            'null' => true
        ),
        array (
            'attribute' => 'image', // empty, but not null
            'eq' => ''
        ),
        array (
            'attribute' => 'image', // check for information that doesn't conform to Magento's formatting
            'nlike' => '%/%/%'
        ),
    ));

foreach($_products as $_product){

    echo $_product->getSku();

}

आपके समाधान ने बहुत अच्छा काम किया है, मैंने आपको एक उत्थान दिया है लेकिन मूल पोस्ट का जवाब देगा।
फ्रांसिस किम

2

ये मेरे लिए काम करता है…।

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter(
        array(
            array(
                'attribute' => 'image',
                'null' => '1'
            ),
            array(
                'attribute' => 'small_image',
                'null' => '1'
            ),
            array(
                'attribute' => 'thumbnail',
                'null' => '1'
            ),
            array(
                'attribute' => 'image',
                'nlike' => '%/%/%'
            ),
            array(
                'attribute' => 'small_image',
                'nlike' => '%/%/%'
            ),
            array(
                'attribute' => 'thumbnail',
                'nlike' => '%/%/%'
            )
        ),
        null,
        'left'
    );

यह बेहतर काम करता है, क्योंकि अगर उत्पाद में अभी तक छवि नहीं है, तो शायद विशेषता संबंध मौजूद नहीं है, और शायद सही ढंग से काम नहीं करेगा।
बेटो कैस्टिलो

1

अगर किसी को Magento 2 की तलाश है। यह काम करेगा। इसके @Marius के रूप में ही एक मेज जोड़ा।

SELECT 
     e.sku, COUNT(m.value) as cnt
FROM catalog_product_entity e
LEFT JOIN catalog_product_entity_media_gallery_value_to_entity r
    ON e.entity_id = r.entity_id
LEFT JOIN catalog_product_entity_media_gallery m
    ON r.value_id = m.value_id

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