2012-03-26 35 views

回答

1

尝试通过API更新它们:

$proxy = new SoapClient('http://magentohost/api/soap/?wsdl'); 
$sessionId = $proxy->login('apiUser', 'apiKey'); 

$products = $proxy->call($sessionId, 'product.list'); 

foreach ($products as $product) { 
    $images = $proxy->call($sessionId, 'product_media.list', $product['sku']) 

    $imageFilename = $images[0]['file']; 

    $proxy->call($sessionId, 'product_media.update', array(
     $product['sku'], 
     $imageFilename, 
     array('types' => array('image', 'thumbnail') 
    )); 
} 

相关文档链接: http://www.magentocommerce.com/wiki/doc/webservices-api/api/catalog_product_attribute_media

http://www.magentocommerce.com/wiki/doc/webservices-api/api/catalog_product#catalog_product.list

+0

它给了我这个错误 - >解析错误:语法错误,在/home/user/public_html/site.xxx/imagex.php意外T_VARIABLE在线10 – tuner3000 2012-03-26 16:16:01

+0

我发现这个: http:// seanbreeden。COM /后/ 18801892083 /设置默认图像功能于Magento的 现在我有一个疑问 我把这个行: >及ev.attribute_id IN(79,80,81); – tuner3000 2012-03-26 16:48:16

+0

您可以在'eav_attribute'表中找到这些id:'SELECT attribute_id FROM eav_attribute WHERE entity_type_id = 4 AND attribute_code IN('image','small_image','thumbnail')' – Zyava 2012-03-26 17:11:36

0

林有这个SQL代码,我得到的地方这是应该设置你的第一个形象问题图片,小图片和缩略图:

UPDATE catalog_product_entity_media_gallery AS mg, 
    catalog_product_entity_media_gallery_value AS mgv, 
    catalog_product_entity_varchar AS ev 
SET ev.value = mg.value 
WHERE mg.value_id = mgv.value_id 
    AND mg.entity_id = ev.entity_id 
    AND ev.attribute_code IN ('image', 'small_image', 'thumbnail') 
    AND mgv.position = 1; 

不会改变任何行...

此外,我的attribute_id在Magento CE v1.6.2中的图像,small_image,缩略图和media_gallery是106,109,493,703使用EMSupermarket模板。

下面的代码也什么都不做:

UPDATE catalog_product_entity_media_gallery AS mg, 
    catalog_product_entity_media_gallery_value AS mgv, 
    catalog_product_entity_varchar AS ev 
SET ev.value = mg.value 
WHERE mg.value_id = mgv.value_id 
    AND mg.entity_id = ev.entity_id 
    AND ev.attribute_id IN (106,109,493) 
    AND mgv.position = 1; 

任何人如何用我的ID正确地做到这一点?

我的oscommerce产品导入时发生的情况是,导入的产品图像只能以字段名称media_image结尾,而不是图像,small_image或缩略图,所以我想将media_image值复制到其他3,任何想法如何去做这个?

+0

我注意到它是catalog_product_entity_varchar中的store_id,它似乎有错误的“10”而不是“0”的store_id。 – 2012-03-30 02:56:29

0

我有同样的问题。我发现这个页面并运行该SQL命令,也没有得到任何结果。但我修改它为我工作。这是我做的。

首先,我改变线7从: AND ev.attribute_code IN( '图像', 'small_image', '缩略图') 到 AND ev.attribute_ID = '74'

74是我的'图片'的唯一属性ID。你会在这里有一个不同的号码。你可以在mySQL中查找它... 75代表'small_image',76代表'thumbnail'。

所以我运行这个代码3次,每个属性编号为1。每次我换7号线ev.attribute_ID = '75':

UPDATE catalog_product_entity_media_gallery AS mg, 
    catalog_product_entity_media_gallery_value AS mgv, 
    catalog_product_entity_varchar AS ev 
SET ev.value = mg.value 
WHERE mg.value_id = mgv.value_id 
    AND mg.entity_id = ev.entity_id 
    AND ev.attribute_ID = '76' 
    AND mgv.position = 1; 
相关问题