তাদের দেওয়া কোনও চিত্র নেই এমন পণ্যের তালিকা খুঁজে পাওয়ার জন্য কি কোনও ক্যোয়ারী চালানো সম্ভব? আদর্শভাবে আমি এসকিউগুলি স্ক্রিনে মুদ্রিত চাই।
তাদের দেওয়া কোনও চিত্র নেই এমন পণ্যের তালিকা খুঁজে পাওয়ার জন্য কি কোনও ক্যোয়ারী চালানো সম্ভব? আদর্শভাবে আমি এসকিউগুলি স্ক্রিনে মুদ্রিত চাই।
উত্তর:
আপনি নীচের কোড জন্য সংগ্রহ খুঁজে পেতে পারেন।
$_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' => '%/%/%'
),
));
আপনি এমন সমস্ত পণ্য তালিকা পেতে পারেন যা কোনও চিত্রের বরাদ্দ নেই।
আপনি শুধুমাত্র পণ্য যে আছে না চান তাহলে 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 কলামের ফলাফল পাবেন।
আপনি কেবল এটি CSV হিসাবে রফতানি করতে পারেন।
@ কুলি শাহ কী বর্ণিত হয়েছে তার একটি ছোট্ট পরিবর্তন, কেবল কোডটি ম্যাজেন্টো রুটে দেওয়া হয়েছে:
<?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();
}
এটি আমার জন্য কাজ করে ....
$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'
);
যদি কেউ Magento 2 খুঁজছেন তবে এটি কাজ করবে। @ মারিয়াসের মতো এটি সবেমাত্র একটি টেবিল যুক্ত করেছে।
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