Magento-SQL命令设置";排除“;论产品形象

Magento-SQL命令设置";排除“;论产品形象,sql,magento,Sql,Magento,我想知道我是否可以运行一些SQL命令,将任何只有一个图像的产品设置为从图像库中“排除”该图像。添加以下内容会将所有排除设置为1(或者在“排除”图像框中打勾,换句话说): 但我只需要对具有1个图像的产品执行此操作,并将具有超过1个图像的任何产品保留为“未排除”(或“禁用=0”) Magento版本是1.4.2.0 干杯 更新:我发现以下情况与此类似,尽管我只希望排除只有一个图像的产品: --将所有图像设置为已启用(“排除”未选中) --将所有主图像设置为禁用(“排除”选中),以便它们不会显示在“更

我想知道我是否可以运行一些SQL命令,将任何只有一个图像的产品设置为从图像库中“排除”该图像。添加以下内容会将所有排除设置为1(或者在“排除”图像框中打勾,换句话说):

但我只需要对具有1个图像的产品执行此操作,并将具有超过1个图像的任何产品保留为“未排除”(或“禁用=0”)

Magento版本是1.4.2.0

干杯

更新:我发现以下情况与此类似,尽管我只希望排除只有一个图像的产品:

--将所有图像设置为已启用(“排除”未选中)

--将所有主图像设置为禁用(“排除”选中),以便它们不会显示在“更多视图”中

update catalog_product_entity_media_gallery_value set disabled=1 where value_id in (select value_id from catalog_product_entity_media_gallery where value in (select value
from catalog_product_entity_varchar where attribute_id=(select attribute_id from eav_attribute where attribute_code=’image’ and entity_type_id=4)))

我建议您更改主题的
template/catalog/product/view/media.phtml
文件,而不是将其作为SQL运行,以便仅在有多个图像时显示图库(我假设您正试图实现这一点??)。将下面的行从
0
更改为
1

<?php if (count($this->getGalleryImages()) > 0): ?>

这样做的好处是,您不需要每次添加新产品时都重新运行SQL

HTH,

JD

我建议您更改主题的
模板/catalog/product/view/media.phtml
文件,使其仅在有多个图像时显示图库(我假设您正试图实现此目的??)。将下面的行从
0
更改为
1

<?php if (count($this->getGalleryImages()) > 0): ?>

这样做的好处是,您不需要每次添加新产品时都重新运行SQL

HTH,

JD

好的,这似乎起到了作用:

UPDATE catalog_product_entity_media_gallery_value SET disabled = 0; 
UPDATE catalog_product_entity_media_gallery_value AS mgv,
(SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
FROM catalog_product_entity_media_gallery AS mg
GROUP BY entity_id
HAVING image_count = 1) AS mg
SET mgv.disabled = 1
WHERE mgv.value_id = mg.value_id 

好的,这似乎起到了作用:

UPDATE catalog_product_entity_media_gallery_value SET disabled = 0; 
UPDATE catalog_product_entity_media_gallery_value AS mgv,
(SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
FROM catalog_product_entity_media_gallery AS mg
GROUP BY entity_id
HAVING image_count = 1) AS mg
SET mgv.disabled = 1
WHERE mgv.value_id = mg.value_id 

您可以发布表格的DDL吗?将值插入
目录、产品、实体、媒体、画廊
value\u id
store\u id
标签
位置
禁用
)值(18,0,'Image',0,0);问题是,我找不到哪个表指定一个产品是否有多个图像。似乎不是此表。图像本身存储在catalog\u product\u entity\u media\u gallery表中。我们需要您的表的结构来回答您的问题。还请提供您的Magento的确切版本,由于表是动态指定的,所以最细微的更改都会影响架构。您可以发布表的DDL吗?将值插入
catalog\u product\u entity\u media\u gallery\u value
value\u id
store\u id
标签
位置
禁用的
)值(18,0,
,Image',0,0);问题是,我找不到哪个表指定一个产品是否有多个图像。似乎不是此表。图像本身存储在catalog\u product\u entity\u media\u gallery表中。我们需要您的表的结构来回答您的问题。还请提供您的Magento的确切版本,因为这些表是动态指定的,即使是最轻微的更改也会影响架构。您好,Jonathan,谢谢,但我正在特别寻找SQL解决方案。嗨,乔纳森,谢谢,但我正在特别寻找SQL解决方案。