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.com.cn/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://symfony.com.cn/schema/dic/services https://symfony.com.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`);