Magento 是否有一个管理工具, 能从所有产品中移除所有图像? 我知道你可以逐个逐个产品删除所有图像, 但我想知道是否有一个管理工具, 能同时完成所有产品?
提前感谢。
Magento 是否有一个管理工具, 能从所有产品中移除所有图像? 我知道你可以逐个逐个产品删除所有图像, 但我想知道是否有一个管理工具, 能同时完成所有产品?
提前感谢。
我不知道你为什么想这样做,但这里是直接从数据库这样做的方法。
备份后删除这2个表格:
catalog_product_entity_media_gallery catalog_product_entity_media_gallery_value
然后删除 /media/catalog/product
清除所有缓存 。
我还没有测试过它,但是它应该能完成它的工作。如果它不工作,那么恢复那两张桌子。
此方法已被测试并有效。 您可能想要这样做的原因之一是您重新测试产品的数据流导入。 如果您在上传中指定图像时, Magento 只指定 < em> adds em> 图像 - 它不会替换或删除它们 。
最终结果是,一些剖面图的运行将积累一些多余的图像。
mysql> **truncate catalog_product_entity_media_gallery;**
mysql> **truncate catalog_product_entity_media_gallery_value;**
然后,从您的 Magento 媒体/ Catalog 文件夹的命令提示 :
media/catalog$ **rm -rf ./product/**
通过 DB 这样做是不明智的, 但如果你必须这样做:
ALTER TABLE `catalog_product_entity_media_gallery_value`
DROP FOREIGN KEY `FK_CAT_PRD_ENTT_MDA_GLR_VAL_STORE_ID_CORE_STORE_STORE_ID`,
DROP FOREIGN KEY `FK_CAT_PRD_ENTT_MDA_GLR_VAL_VAL_ID_CAT_PRD_ENTT_MDA_GLR_VAL_ID`;
TRUNCATE `catalog_product_entity_media_gallery_value`;
TRUNCATE `catalog_product_entity_media_gallery`;
ALTER TABLE `catalog_product_entity_media_gallery_value`
ADD CONSTRAINT `FK_CAT_PRD_ENTT_MDA_GLR_VAL_STORE_ID_CORE_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `FK_CAT_PRD_ENTT_MDA_GLR_VAL_VAL_ID_CAT_PRD_ENTT_MDA_GLR_VAL_ID` FOREIGN KEY (`value_id`) REFERENCES `catalog_product_entity_media_gallery` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;
然后您可以用下列方式删除产品文件夹 :
cd media/catalog/product
rm -rf *
这就是我如何修补它:
public function __construct(
MagentoCatalogModelProduct $product,
MagentoFrameworkAppResourceConnection $resource,
MagentoCatalogApiProductRepositoryInterface $productRepository,
MagentoCatalogModelProductGalleryProcessor $processor
) {
$this->productRepository = $productRepository;
$this->product = $product;
$this->resource = $resource;
$this->processor = $processor;
}
protected function removeImageGallery($product)
{
try {
$gallery = $this->resource->getTableName( catalog_product_entity_media_gallery );
$galleryValue = $this->resource->getTableName( catalog_product_entity_media_gallery_value );
$sql = <<<EOT
DELETE FROM {$gallery}
WHERE value_id IN (SELECT value_id FROM {$galleryValue} WHERE entity_id = {$product->getId()})
EOT;
$response = $this->resource->getConnection()->query($sql);
echo ( . $product->getTypeId() . ): . $product->getSku() . " - No. Images: " . $response->rowCount() . "
";
// // Or if you want to try the Magento way
//
// $images = $product->getMediaGalleryImages();
// foreach($images as $child){
// echo ( . $product->getTypeId() . ): . $product->getSku() . - . $child->getFile() . "
";
// $this->processor->removeImage($product, $child->getFile());
// }
//
// $this->productRepository->save($product);
} catch (Exception $e) {
echo $e->getMessage() . "
";
}
}
When using the Magento collection method addFieldToFilter is it possible to allow filtering by NULL values? I want to select all the products in a collection that have a custom attribute even if no ...
I am new to Magento and using their API. I need to be able to get the product url from the API call. I see that I can access the url_key and url_path, but unfortunately that s not necessarily what ...
My problem is I want to change my category page layout similar as homepage I tried a lot but didn t get the answer.
I want to install a Magento extension in WAMP, but not from the Magento connect system. How can I do this? I have the module (extension) code and I already installed the sample data in the Magento ...
Is it possible to redirect the browser to nth step in the onepage checkout? If so, how would one go about doing it? I m working on a payment module and have a sort of "cancel" action that i would ...
I was wondering if it possible to link a category to My Account . Basically I would like to make My Account more prominent, by creating a category - My Account which appears in the main menu ...
I have a ‘featured’ attribute, which has a Yes/No select-list as the admin input. I presume that the values for Yes and No are 1 and 0, as they are for every other Yes/No list. However, if I try and ...
I tried importing product images into Magento using an absolute path, but it did not work. The image was not uploaded. For example, I tried importing "http://somewebsite.com/someimage.jpg". The image ...