Magento Получить продукт ВЫБРАННЫЙ АТРИБУТ только? - PullRequest
0 голосов
/ 12 сентября 2011

Привет, я работаю над внешним приложением, которое отображает все заказанные товары в магазине magento.

Запрос, отображающий атрибут заказанного товара, выглядит так:

   select group_concat(distinct(b.value) separator '<br/>') from catalog_product_entity_varchar a , eav_attribute_option_value b  , eav_attribute c 
    where a.value = b.option_id
    and c.attribute_id =  a.attribute_id
    and c.is_user_defined = 1
    and a.entity_id = PRODUCT_ID

Thisдля атрибутов с типом VARCHAR, я использую тот же запрос, чтобы получить атрибуты int и text.Я просто изменяю имя таблицы с catalog_product_entity_varchar на catalog_product_entity_int и catalog_product_entity_text.

У меня проблема в том, что я получаю все атрибуты продукта, производителя, поставщика ... и из-за того, что у нас есть много магазинов, яне хотите получить все дополнительные атрибуты с помощью дополнительного предложения sql where!

Есть ли решение, чтобы получить только выбранные атрибуты?

1 Ответ

0 голосов
/ 16 сентября 2011

Ниже будет собрана коллекция в PHP. Вам просто нужно изменить атрибут, который вы выбрали на. Добавляя -> addOrderedQty, он позволяет получить упорядоченный кол-во. Теперь я понимаю, что вы используете внешнее приложение. Причина, по которой я публикую это, заключается в том, что вы можете загрузить Mage.php в свое приложение и использовать его напрямую, или вы можете просто запустить его один раз и посмотреть запрос в своей базе данных, а затем использовать этот запрос для выполнения того, что вы ищете.

$visibility = array( 
                      Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, 
                      Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG 
                  ); 

$_productCollection = Mage::getResourceModel('reports/product_collection') 
                              ->addAttributeToSelect('*') 
                              ->addOrderedQty() 
                              ->addAttributeToFilter('visibility', $visibility) 
                              ->setOrder('ordered_qty', 'desc'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...