techdivision / import-product-magic360
提供基本导入功能的 Pacemaker 库,用于 Magic ToolBox Magic 360 图片画廊视图
Requires
- php: >=7.1.0
- techdivision/import-product: ^25.1.1
Requires (Dev)
- consolidation/robo: ~1.0
- doctrine/dbal: 2.5.*
- mikey179/vfsstream: ~1.0
- pdepend/pdepend: 2.5.2
- phpmd/phpmd: @stable
- phpunit/phpunit: ~6.5.0
- sebastian/phpcpd: ~3.0.0
- squizlabs/php_codesniffer: ~3.4.0
- symfony/http-kernel: ~3.4
- 16.0.0
- 15.x-dev
- 15.0.0
- 14.x-dev
- 14.0.3
- 14.0.2
- 14.0.1
- 14.0.0
- 13.x-dev
- 13.0.0
- 12.x-dev
- 12.0.0
- 11.x-dev
- 11.0.0
- 10.x-dev
- 10.0.0
- 9.x-dev
- 9.0.2
- 9.0.1
- 9.0.0
- 8.x-dev
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.x-dev
- 7.0.0
- 6.x-dev
- 6.0.0
- 5.x-dev
- 5.0.0
- 4.x-dev
- 4.0.0
- 3.x-dev
- 3.0.0
- 2.x-dev
- 2.0.0
- 1.0.0
- 1.0.0-beta12
- 1.0.0-beta11
- 1.0.0-beta10
- 1.0.0-beta9
- 1.0.0-beta8
- 1.0.0-beta7
- 1.0.0-beta6
- 1.0.0-beta5
- 1.0.0-beta4
- 1.0.0-beta3
- 1.0.0-beta2
- 1.0.0-beta1
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-pac-major
- dev-master
- dev-di
- dev-improvement/di
This package is auto-updated.
Last update: 2024-09-19 11:15:54 UTC
README
请访问 Pacemaker 的网站或我们的文档以获取更多信息
简介
此模块提供导入几乎闻名遐迩的 Product Magic360 Magento 2 扩展的图片功能。
配置
如果使用 Pacemaker - Simple Console Tool >= 3.8,则可以通过向您的 <magento-install-dir>/app/etc/configuration
目录添加以下片段来启用添加更新和替换操作的功能。
第一个片段是 <magento-install-dir>/app/etc/configuration/shortcuts.json
,它覆盖了默认快捷方式,并最终将 general/catalog_product/replace.magic360
操作添加到 replace
和 add-update
操作中
{ "shortcuts": { "ce": { "catalog_product": { "replace": [ "general/general/global-data", "general/general/move-files", "general/catalog_product/collect-data", "general/eav_attribute/convert", "general/eav_attribute/add-update.options", "general/eav_attribute/add-update.option-values", "general/eav_attribute/add-update.swatch-values", "general/catalog_category/convert", "ce/catalog_category/sort", "ce/catalog_category/add-update", "ce/catalog_category/add-update.path", "ce/catalog_category/add-update.url-rewrite", "general/catalog_category/children-count", "general/catalog_product/validate", "ce/catalog_product/replace", "ce/catalog_product/replace.variants", "ce/catalog_product/replace.bundles", "ce/catalog_product/replace.links", "ce/catalog_product/replace.grouped", "ce/catalog_product/replace.media", "general/catalog_product/replace.msi", "general/catalog_product/replace.url-rewrites", "general/catalog_product/replace.magic360" ], "add-update": [ "general/general/global-data", "general/general/move-files", "general/catalog_product/collect-data", "general/eav_attribute/convert", "general/eav_attribute/add-update.options", "general/eav_attribute/add-update.option-values", "general/eav_attribute/add-update.swatch-values", "general/catalog_category/convert", "ce/catalog_category/sort", "ce/catalog_category/add-update", "ce/catalog_category/add-update.path", "ce/catalog_category/add-update.url-rewrite", "general/catalog_category/children-count", "general/catalog_product/validate", "ce/catalog_product/add-update", "ce/catalog_product/add-update.variants", "ce/catalog_product/add-update.bundles", "ce/catalog_product/add-update.links", "ce/catalog_product/add-update.grouped", "ce/catalog_product/add-update.media", "general/catalog_product/add-update.msi", "general/catalog_product/add-update.url-rewrites", "general/catalog_product/add-update.magic360" ] } } } }
第二个和第三个片段使 techdivision/import-product-magic360
扩展类可用于导入器。因此,请将以下内容的片段添加到 <magento-install-dir>/app/etc/configuration/extension-libraries.json
{ "extension-libraries": [ "techdivision/import-product-magic360" ] }
和包含以下内容的片段 <magento-install-dir>/app/etc/configuration/additional-vendor-dirs.json
{ "additional-vendor-dirs": [ { "vendor-dir": "app/code", "libraries": [ "MyProject/Import" ] } ] }
假设您的 <magento-install-dir>/app/code
包含 Magento 扩展 MyProject/Import
。
最后,需要覆盖适当的复合观察者的 Symfony DI 配置。例如,如果您使用的是 Magento CE,请添加一个 <magento-install-dir>/app/codeMyProject/import/symfony/Resources/config/services.xml
,内容如下,以覆盖默认复合观察者
<?xml version="1.0" encoding="UTF-8" ?> <container xmlns="https://symfony.ac.cn/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://symfony.ac.cn/schema/dic/services https://symfony.ac.cn/schema/dic/services/services-1.0.xsd"> <services> <!-- | The DI configuration for the composite observers of the delete operation. |--> <service id="import_product.observer.composite.base.delete" class="TechDivision\Import\Observers\GenericCompositeObserver"> <call method="addObserver"> <argument id="import_product_magic360.observer.sku.entity.id.mapping" type="service"/> </call> <call method="addObserver"> <argument id="import_product_msi.observer.product.source.item.default" type="service"/> </call> <call method="addObserver"> <argument id="import_product_url_rewrite.observer.clear.url.rewrite" type="service"/> </call> <call method="addObserver"> <argument id="import_product_magic360.observer.clear.magic360" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.clear.product" type="service"/> </call> </service> <!-- | The DI configuration for the composite observers of the replace operation. |--> <service id="import_product.observer.composite.base.replace" class="TechDivision\Import\Observers\GenericCompositeObserver"> <call method="addObserver"> <argument id="import_product_url_rewrite.observer.clear.url.rewrite" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.clear.product" type="service"/> </call> <call method="addObserver"> <argument id="import.observer.attribute.set" type="service"/> </call> <call method="addObserver"> <argument id="import.observer.additional.attribute" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.url.key" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.file.upload" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.quality.and.stock.status" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.website" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.category.product" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.inventory" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.attribute" type="service"/> </call> <call method="addObserver"> <argument id="import_product_url_rewrite.observer.product.url.rewrite" type="service"/> </call> <call method="addObserver"> <argument id="import_product_variant.observer.product.variant" type="service"/> </call> <call method="addObserver"> <argument id="import_product_bundle.observer.product.bundle" type="service"/> </call> <call method="addObserver"> <argument id="import_product_media.observer.product.media" type="service"/> </call> <call method="addObserver"> <argument id="import_product_link.observer.product.link" type="service"/> </call> <call method="addObserver"> <argument id="import_product_grouped.observer.product.grouped" type="service"/> </call> <call method="addObserver"> <argument id="import_product_msi.observer.product.source.item.default" type="service"/> </call> <call method="addObserver"> <argument id="import_product_magic360.observer.product.magic360" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.clean.up" type="service"/> </call> </service> <!-- | The DI configuration for the composite observers of the add-update operation. |--> <service id="import_product.observer.composite.base.add_update" class="TechDivision\Import\Observers\GenericCompositeObserver"> <call method="addObserver"> <argument id="import.observer.attribute.set" type="service"/> </call> <call method="addObserver"> <argument id="import.observer.additional.attribute" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.url.key" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.file.upload" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.quality.and.stock.status" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.website.update" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.category.product.update" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.inventory.update" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.product.attribute.update" type="service"/> </call> <call method="addObserver"> <argument id="import_product_url_rewrite.observer.product.url.rewrite" type="service"/> </call> <call method="addObserver"> <argument id="import_product_variant.observer.product.variant" type="service"/> </call> <call method="addObserver"> <argument id="import_product_bundle.observer.product.bundle" type="service"/> </call> <call method="addObserver"> <argument id="import_product_media.observer.product.media" type="service"/> </call> <call method="addObserver"> <argument id="import_product_media.observer.clear.media.gallery" type="service"/> </call> <call method="addObserver"> <argument id="import_product_link.observer.product.link" type="service"/> </call> <call method="addObserver"> <argument id="import_product_grouped.observer.product.grouped" type="service"/> </call> <call method="addObserver"> <argument id="import_product_msi.observer.product.source.item.default" type="service"/> </call> <call method="addObserver"> <argument id="import_product_magic360.observer.product.magic360" type="service"/> </call> <call method="addObserver"> <argument id="import_product.observer.clean.up" type="service"/> </call> </service> </services> </container>
缺失索引
为了大幅提高导入性能,必须添加两个索引。
为此,打开 MySQL 命令行并输入以下 SQL 语句。
ALTER TABLE `magic360_gallery` ADD INDEX `MAGIC360_GALLERY_PRODUCT_ID` (`product_id`); ALTER TABLE `magic360_gallery` ADD INDEX `MAGIC360_GALLERY_POSITION` (`position`);