2012-09-29 61 views
3

我需要創建一個SQL查詢以XML格式導出我的Magento網站產品。magento屬性值和產品圖像存儲在哪裏?

我無法確定存儲屬性值和產品圖像的位置。

現在我的查詢是這樣的:

SELECT cpe.entity_id, cpe.sku, csi.qty, eav_color.value, eav_talla.value 
FROM catalog_product_entity AS cpe 
JOIN cataloginventory_stock_item AS csi ON csi.product_id = cpe.entity_id 
JOIN catalog_product_entity_int AS eav_color ON eav_color.entity_id = cpe.entity_id 
AND eav_color.attribute_id =85 
JOIN catalog_product_entity_int AS eav_talla ON eav_talla.entity_id = cpe.entity_id 
AND eav_talla.attribute_id =127 
WHERE csi.qty >0 
AND csi.is_in_stock 
AND cpe.type_id = 'simple' 
LIMIT 0 , 30 

但我得到的屬性標識(我認爲)。我的查詢返回這樣的:

entity_id   sku     qty value value 
6000   0121011000-RED-L 2.0000  66  5 

我收到66列屬性和值5值「TALLA」屬性。但這些值必須是「紅色」和「L」。我不明白在這個表中存儲的是那些值。

而另一方面,我需要獲取產品圖像,但我無法確定表的存儲位置。

+1

你不能使用Magento的類來爲你查詢數據庫嗎? – clockworkgeek

+0

你應該使用核心API來做到這一點,但如果你堅持直接的方法。你可以逆向工程這個http://www.sonassi.com/knowledge-base/quickly-associate-images-to-your-magento-products-without-using-dataflow/ –

回答

5

儘管圖像具有EAV屬性,但它實際上存儲在兩個表中。

第一個是catalog_product_entity_media_gallery與列:

  • value_id - 編號爲當前表
  • attribute_id - 一個屬性的ID在eav_attribute
  • ENTITY_ID - 從catalog_product_entity
  • 的產品的ID
  • 值 - 文件路徑

第二個是catalog_product_entity_media_gallery_value的列:

  • value_id - ID商店
  • 標籤 - - 的catalog_product_entity_media_gallery
  • STORE_ID的ID圖像
  • 位置的標籤 - 在圖像
  • 列表
  • 禁用位置 - 爲商店禁用圖片

所以catalog_product_entity_media_gallery定義了產品圖片和catalog_product_entity_media_gallery_value處理不同商店視圖的設置。