承接 shopgate/cart-integration-shopware6 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shopgate/cart-integration-shopware6

Composer 安装命令:

composer require shopgate/cart-integration-shopware6

包简介

Shopgate Shopping App Plugin for Shopware 6

关键字:

README 文档

README

Install

Packagist install (recommended)

This plugin is available on packagist.org. To install simply add the composer package to the shopware's root composer:

cd [shopware6 root folder]
composer require shopgate/cart-integration-shopware6

Afterward just increment the plugin version inside root/composer.json, and run composer update to get the latest version.

Folder install

It can be installed manually by copying the plugin folder to custom/plugins directory. Like so custom/plugins/SgateShopgatePluginSW6. Then you can install & enable like any other plugin. For this install method, please make sure that there is a vendor directory inside the plugin folder as we have composer dependencies. You could do it yourself by running:

cd [plugin folder]
# this is because we do not want to install shopware core files
composer remove shopware/core

Composer symlink (development)

Place the plugin in the custom/plugins folder. You can now link it to composer by running this command in the root directory:

cd custom/plugins
git clone git@github.com:shopgate/cart-integration-shopware6.git
cd ../..
composer require shopgate/cart-integration-shopware6

Enable & Activate

Install and activate the module:

cd [shopware6 root folder]
php bin/console plugin:refresh
php bin/console plugin:install -a SgateShopgatePluginSW6

You may install and activate via the Shopware administration panel instead, if you prefer.

Indexing

A full re-index is required after installation or update to 3.3.0+ for product->category export to work. Can be done via Admin: Admin > Settings > System > Cache & Indexes > Update Indexes

Can be done via CLI:

bin/console dal:refresh:index

Can also be done with the API as well, see tests/Postman/indexer_check.collection.json for details

Known errors

  • No SaleChannel domain exists corresponding to the SaleChannel default language - indicates an issue when there is a default language set for a domain, but no domain URL exists that has that language. In short:
    1. go to SalesChannels
    2. select SaleChannel that is being queried by Shopgate API
    3. Check General Settings default language (e.g., English)
    4. Check Domains list, see that there is no domain URL with default language (e.g., English)
  • Cannot declare interface XXX, because the name is already in use - happens after installing of our plugin via symlink. This is because there is a vendor directory inside our plugin folder. Either remove vendor directory from our plugin directory or do not install via symlink. These are two different ways of installing our plugin.
  • ConstraintViolationException: Caught 1 violation errors during a check_cart or customer registration. One of the known errors is when the Shopgate App does not require the phone number to be set, but the Shopware does. So when the check_cart attempts to create the address a constraint violation occurs.
  • Export prices are too long (e.g. "unit_amount":2.3999999999999999) - there is a server setting that should help narrow down prices to 3 decimals, in short try php.ini setting serialize_precision = -1. Link to issue on stack.

Configuration

Administration

Export
  • Flysystem - uses Flysystem to write SDK file export

Advanced

  • Type of writing for the indexer - performant selection will be ignored if deletion is not set to "always" because the performant writer cannot handle duplicate entries in the DB. Performant should be slightly faster than the safe one.
  • Type of deletion for the indexer. Always means that category/product map is generated every time a product or category gets updated or a full index is ran. The "Full" type only runs when all indexers are being indexed. None just means it never deletes mappings. Only updates them & leaves mappings hanging. Can be problematic after a while as it will degrade export performance over time.

Email template variable usage

For create order emails:

{% set shopgateOrder = order.extensions.shopgateOrder|default(false) %}

Selected shipping type:
{% if shopgateOrder %}
  {{ shopgateOrder.getShippingMethodName() }}
{% else %}
  {{ delivery.shippingMethod.translated.name }}
{% endif %}

Payment Type:
{% if shopgateOrder %}
  {{ shopgateOrder.getPaymentMethodName() }}
{% endif %}

Set settings API

  • server - live, pg or custom
  • api_url - http://my.url.com
  • product_types_to_export - simple,variant (a comma separated list)

Custom fields

These values can be set inside Shopgate admin panel or script to pass to Shopware & will bind to the Entities. One can also pass non-existing or existing customFields to Shopware. If a Custom Set exists for an entity (e.g. Order), and it has a customField defined, it will map.

Customer

  • title - customer title
  • affiliate_code
  • campaign_code
  • account_type - business or private
  • vat_ids - provide a single VAT ID, accountType must be business for this to be set

Customer Address

  • department - department of a company
  • phone_number - phone number can be passed via customFields as an alternative to address->phone

Order

  • affiliate_code
  • campaign_code
  • customer_comment - a comment string from the customer

shopgate/cart-integration-shopware6 适用场景与选型建议

shopgate/cart-integration-shopware6 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25.13k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 08 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「mobile」 「app」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 shopgate/cart-integration-shopware6 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 shopgate/cart-integration-shopware6 我们能提供哪些服务?
定制开发 / 二次开发

基于 shopgate/cart-integration-shopware6 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 25.13k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 8
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2021-08-07