ergonode / integration-shopware
Shopware Ergonode集成
Requires
- php: >= 8.2
- ext-json: *
- gmostafa/php-graphql-client: ^1.13
- shopware/administration: 6.6.*
- shopware/core: 6.6.*
Requires (Dev)
- composer-runtime-api: ^2.0
- friendsofphp/php-cs-fixer: ^3.61
- phpcompatibility/php-compatibility: ^9.3
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.8.8
- phpunit/phpunit: ~9.5.17
- squizlabs/php_codesniffer: ^3.10
- dev-master
- 3.0.1
- 3.0.0
- 2.7.1
- 2.7.0
- 2.6.8
- 2.6.6
- 2.6.4
- 2.6.1
- 2.6.0
- 2.5.2
- 2.2.0
- 2.1.3
- 2.1.1
- 2.1.0
- 2.0.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.4
- 1.1.3.1
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-master-sw65
- dev-release/3.0.1
- dev-release/2.7.1
- dev-bugfix/manufacturer-attriubte-processor-ids-bug
- dev-release/2.7.0
- dev-release/3.0.0
- dev-feature/1-shopware-66-compatibility
- dev-feature/3-transform-tests-and-build-to-make-file
- dev-SWER-164
- dev-release/2.6.9
- dev-release/2.6.8
- dev-release/2.6.7.2
- dev-release/2.6.7.1
- dev-release/2.6.7
- dev-release/2.6.6
- dev-SWER-143
- dev-release/2.6.5
- dev-release/2.6.4
- dev-SWER-132-2
- dev-SWER-142
- dev-master-sw64
- dev-release/1.2.2
- dev-NEXN-115
- dev-release/1.2.1
- dev-SWER-136
- dev-SWER-136-2
- dev-release/2.6.3
- dev-SWER-137
- dev-SWER-135
- dev-SWER-132
- dev-release/2.6.2
- dev-release/2.6.1
- dev-feature/SWER-123
- dev-release/2.6.0
- dev-SWER-131-2.5.x
- dev-SWER-131-1.2.x
- dev-release/2.5.3
- dev-SWER-130-2.5.x
- dev-SWER-130
- dev-release/1.2.0
- dev-SWER-124
- dev-SWER-128
- dev-SWER-106
- dev-feature/SWER-68
- dev-feature/SWER-114
- dev-feat/SWER-115
- dev-SWER-129
- dev-SWER-127
- dev-feature/SWER-68-frontend
- dev-SWER-59
- dev-release/2.5.2
- dev-SWER-125
- dev-bugfix/SWER-118
- dev-release/2.5.1
- dev-bugfix/SWER-120
- dev-SWER-122
- dev-release/2.2.0
- dev-release/2.1.5
- dev-release/2.1.4-logging
- dev-bugfix/SWER-117
- dev-bugfix/SWER-119
- dev-release/2.5.0
- dev-release/2.1.4
- dev-bugfix/SWER-110
- dev-release/2.1.3
- dev-feature/SWER-104
- dev-feature/SWER-69
- dev-release/2.1.2
- dev-release/1.1.8
- dev-release/2.1.1
- dev-bugfix/SWER-95
- dev-release/2.1.0
- dev-feature/SWER-94
- dev-release/2.0.2
- dev-release/1.1.7
- dev-feature/SWER-59
- dev-feature/SWER-81-2
- dev-bugfix/SWER-88
- dev-release/1.1.6
- dev-bugfix/SWER-84-2
- dev-bugfix/SWER-78-2
- dev-bugfix/SWER-84
- dev-release/old2.1.0
- dev-feature/SWER-56
- dev-release/2.0.1
- dev-release/1.1.5
- dev-bugfix/SWER-46
- dev-bugfix/SWER-46-2
- dev-feature/SWER-47
- dev-bugfix/SWER-72
- dev-bugfix/SWER-58-2
- dev-bugfix/SWER-58
- dev-feature/SWER-53
- dev-release/2.0.0
- dev-bugfix/SWER-66-2
- dev-bugfix/SWER-66
- dev-version/1.1.4
- dev-version/1.1.3
- dev-version/1.1.3.1
- dev-bugfix/SWER-67
- dev-bugfix/SWER-64
- dev-feature/SWER-14
- dev-bugfix/SWER-61
- dev-bugfix/SWER-48-3
- dev-bugfix/SWER-48-2
- dev-feature/SWER-55
- dev-feature/SWER-31
- dev-bugfix/SWER-48
- dev-feature/SWER-48
- dev-bugfix/SWER-39-2
- dev-feature/SWER-39
- dev-develop
- dev-release/1.1.0
- dev-feature/SWER-38
- dev-feature/SWER-37
- dev-release/SWER-26
- dev-feature/SWERG-9
- dev-SWER-14-analiza-dostosowanie-do-rc-shopware-6.5
- dev-bugfix/SWER-18
- dev-bugfix/SWER-9-undo-synchronizacja-scale-unit
- dev-bugfix/SWER-1-product_limit_change
- dev-bugfix/SWER-5
- dev-feature/SWERG-218
- dev-bugfix/SWER-1
- dev-feature/SWERGOLD-219
- dev-bugfix/SWERG-220
- dev-bugfix/SWERG-215
- dev-bugfix/SWERG-212-sync-atrybutow-relation-zawsze-zapisuje-array-w-wartosc-entity-select
- dev-feature/SWERG-210
- dev-bugfix/SWERG-211-synchronizacja-delivery-time-poprawka
- dev-bugfix/SWERG-203
- dev-feature/NEX-167
- dev-feature/SWERG-200
- dev-feature/SWERG-196
- dev-bugfix/SWERG-190
- dev-bugfix/SWERG-180
- dev-feature/SWERG-177-fe
- dev-fix/SWERG-172
- dev-test_branch
- dev-feature/SWERG-169
- dev-feature/SWERG-138-product-category-fix
- dev-feature/SWERG-138-order-fix
- dev-feature/SWERG-164
- dev-feature/SWERG-138-fix
- dev-feature/SWERG-159
- dev-feature/SWERG-158
- dev-feature/SWERG-149
- dev-feature/SWERG-138
- dev-feature/SWERG-142
- dev-feature/SWERG-141
- dev-feature/SWERG-127
- dev-feature/SWERG-96
- dev-feature/SWERG-106
- dev-feature/SWERG-82
- dev-feature/SWERG-77
- dev-feature/SWERG-75
- dev-feature/SWERG-74
- dev-feature/SWERG-69-2
- dev-feature/SWERG-70
- dev-feature/SWERG-71
- dev-feature/SWERG-62-cross-selling-select-in-config
- dev-feature/SWERG-63
- dev-feature/SWERG-55-credentials-check
- dev-hotfix/test-credentials-controller-ns-fix
- dev-feature/SWERG-53
- dev-feature/SWERG-61
- dev-feature/SWERG-57
- dev-feature/SWERG-49
- dev-hotfix/version-bump-003
- dev-feature/SWERG-54
- dev-feature/SWERG-50-synchronisation-triggers
- dev-hotfix/sync-trigger-controller-merge-fix
- dev-dev-version-fix
- dev-hotfix/services-yml-fix
- dev-feature/SWERG-32
- dev-feature/SWERG-51
- dev-feature/SWERG-17
- dev-feature/SWERG-27-attribute-mapping-frontend
- dev-feature/SWERG-31
- dev-feature/SWERG-44
- dev-feature/SWERG-18
- dev-feature/SWERG-41
- dev-feature/SWERG-38
- dev-feature/SWERG-39
- dev-feature/SWERG-36
- dev-feature/SWERG-34
- dev-feature/SWERG-13
- dev-feature/SWERG-7
This package is auto-updated.
Last update: 2024-09-28 06:47:13 UTC
README
描述
此插件同步Ergonode到Shopware的数据。它利用Ergonode的GraphQL API和Ergonode的流。
主要功能
分类同步
此插件同步Ergonode的分类和单个分类树到Shopware。首先,它检查categoryTreeStream以查看主树自上次同步以来是否已更改。如果已更改,则插件使用游标遍历所有分类叶。在Shopware中找不到的分类使用代码作为其名称创建。此时不会持久化翻译。在Shopware中已存在的分类将更新其父分类。
完成后,或者当检测到没有变化时,将获取categoryStream并持久化分类翻译。
缺失的功能
- 从Ergonode树中删除的分类在Shopware中不会被删除
- 树中的分类顺序不会同步到Shopware
产品同步
使用productStream同步产品。主要字段(直接在Shopware的ProductEntity中找到的字段)可以在“设置 > Ergonode集成 > 属性映射”中进行配置。一个Shopware字段可以映射到一个Ergonode字段,一个Ergonode字段可以映射到多个Shopware字段。这些映射不是必需的;如果未提供此类映射,插件将使用Ergonode的代码作为产品名称。
在属性同步后,Ergonode的
已删除的产品也会使用productDeletedStream在Shopware中删除。
属性同步
为了使
产品交叉销售
可以通过在Ergonode中创建产品关系来设置产品交叉销售,然后在插件配置中在“Ergonode属性作为交叉销售”下选择这些字段。
产品可见性
可以使用Ergonode的段功能设置产品可见性。在Shopware插件配置中,可以为每个销售渠道设置段API密钥,并相应地更新每个销售渠道的产品可见性。
语言
Ergonode语言同步到Shopware。
执行同步和调度
同步过程作为一系列计划任务添加,定期运行。可以在“设置 > Ergonode集成 > 同步”中手动触发过程。任务使用锁定系统,因此一次只运行一个给定类型的任务。这些任务在适用的情况下使用Ergonode的游标,这意味着它们仅处理自上次同步以来发生的变化。
同步历史记录
同步历史记录可以在“设置 > Ergonode集成 > 导入历史”下查看。
配置
所需的最小配置涉及在Shopware中设置插件配置。所需设置包括
- Ergonode GraphQL API端点(全局设置)
- Ergonode API密钥(可以按销售渠道设置)
- 要同步的分类树代码
开发
开发笔记
ProductSyncProcessor可能无法正确处理自上次同步以来已“分离”的变体。
当卸载插件并选择“永久删除所有应用程序数据”时,将删除所有插件表和映射。这意味着所有映射都将丢失,下一次同步将创建重复的实体。
测试
在插件根目录下,您可以使用make命令,然后执行您想要的测试
make phpstan
make phpunit
make phpmd
构建ZIP文件
要构建Store包,请执行
make release
注意:make文件是从插件根目录使用的。
缓存
为了缓存Ergonode GQL API请求,您需要将src/Resources/config/parameters.yml
中的参数ergonode_integration.use_gql_cache
更改为true
,并在您的类中使用Ergonode\IntegrationShopware\Api\Client\ErgonodeGqlClientInterface
而不是具体的Ergonode\IntegrationShopware\Api\Client\ErgonodeGqlClient
类。缓存的客户端类是Ergonode\IntegrationShopware\Api\Client\CachedErgonodeGqlClient
。
更多缓存配置选项可以在src/Resources/config/packages/cache.yml
中找到。
要清除缓存池,请运行bin/console cache:pool:clear ergonode_gql_request_cache
。
可用的缓存池
- ergonode_gql_request_cache
- ergonode_attribute_mapping_cache