Как найти все продукты без изображений в Magento?

У меня есть несколько тысяч продуктов, и я хочу найти все продукты без изображения. Я пытался найти (нет изображения) в сетке продуктов администратора, но безрезультатно. Как сделать запрос SQL, который отключает все эти продукты?

7
задан Michael Myers 15 July 2011 в 17:36
поделиться

2 ответа

Перестаньте думать в терминах SQL. Начните думать с точки зрения моделей Magento. Модели Magento просто используют SQL в качестве бэкэнда. Возможен запрос вещей с помощью необработанного SQL, но он будет варьироваться от версии к версии Magento и может отличаться в зависимости от используемого вами бэкэнда.

Запустите следующее из действия тестового контроллера или где-нибудь еще, откуда вы можете выполнить код Magento. Он запрашивает модель для продуктов без изображения

//this builds a collection that's analagous to 
//select * from products where image = 'no_selection'
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('image', 'no_selection');

foreach($products as $product)
{
    echo  $product->getSku() . " has no image \n<br />\n";
    //var_dump($product->getData()); //uncomment to see all product attributes
                                     //remove ->addAttributeToFilter('image', 'no_selection');
                                     //from above to see all images and get an idea of
                                     //the things you may query for
}       
15
ответ дан 6 December 2019 в 07:04
поделиться

Некоторое время назад я написал статью в блоге с запросом sql для поиска отсутствующих изображений. Он не отключает продукты, но, по крайней мере, это начало: http://prattski.com/2010/06/29/magento-sql-to-find-missing-images/. Должно быть довольно легко сделать с этого момента. Возможно, вам придется изменить идентификатор атрибута, если ваш не совпадает с моим.

0
ответ дан 6 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: