shopgate/webcheckout-shopware6

Shopgate Webcheckout for Shopware 6

安装: 11 133

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 11

分支: 0

开放问题: 0

类型:shopware-platform-plugin

3.1.0 2024-09-06 11:04 UTC

README

生产清单

安装

通过 Packagist 安装(推荐)

如果此插件在 packagist.org 上可用,则只需将其 composer 包添加到 Shopware 的根 composer

cd [shopware6 root folder]
composer require shopgate/webcheckout-shopware6

之后,只需在 root/composer.json 中递增插件版本,然后运行 composer update 以获取最新版本。

文件夹安装

您可以通过将插件文件夹复制到 custom/plugins 目录来手动安装。例如 custom/plugins/SgateWebcheckoutSW6。然后您可以像其他插件一样安装和启用。对于此安装方法,请确保插件文件夹中有一个 vendor 目录,因为我们有 composer 依赖。您可以通过运行以下命令来完成此操作:

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

Composer 链接(开发)

将插件放置在 custom/plugins 文件夹中。现在您可以通过在根目录中运行此命令将其链接到 composer:

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

启用并激活

通过命令行安装和激活模块

cd [shopware6 root folder]
bin/console plugin:refresh
bin/console plugin:install --activate SgateWebcheckoutSW6

如果您更喜欢,也可以通过 Shopware 管理面板安装和激活。

JS 编译

对于 Shopware 6.5+,在安装并启用插件后,您需要重新编译 JS。如果您有 GitHub 安装,这应该就足够了。

composer run build:js
bin/console theme:compile

对于通过 Symfony2 Flex、zip 或 shopware-installer.phar.php 的常规安装

bin/build-js.sh

CSS 编译

每次您在 Admin > Extensions > Shopgate Webcheckout Config > Custom CSS 中配置 CSS 后,都需要重新编译您的主题(目前只能通过命令行)。

bin/console theme:compile

签名密钥

应用程序将把客户重定向到结账页面或其账户页面。为了保持登录信息的安全,我们需要加密应用程序发出的调用。因此,我们需要一种类型的密码来加密这些登录数据。Shopware 6 有一个本地的安全密钥,用于此类情况,它被称为 APP_SECRET

首先,您可以在 [root]/.env 文件中检查此值。在开发模式下,它可能设置为 APP_SECRET: 1。这将不起作用,因为这只是一个糟糕的秘密,并意味着需要更改。

如果您没有在那里看到它,或者希望 Shopware 6 管理这些数据而不是将其保存在文件中,则可以按照以下步骤检查密钥值:

bin/console secrets:list --reveal

如果没有设置值,您可以通过在控制台中运行此命令为您的商店设置一个安全的密钥:

bin/console secrets:set APP_SECRET --random

请确保在创建密钥时遵守以下最低要求:

  • 密钥长度至少为 8 个字符;
  • 使用大写和小写字母;

配置

  • 目前,我们不支持启用 设置登录/注册 > 清除并删除登出时的购物车 设置。如果您必须保持启用,可以为 Shopgate 应用程序创建一个单独的销售渠道。

开发

Cookie

您可以通过在浏览器中启用一个名为 sgWebView 的 Cookie 来部分模拟客户查看我们的应用程序。如果您想添加 CSS 类并查看它们如何显示,而不需要应用程序,这将很有用。

打开浏览器控制台并粘贴

// Enable view
document.cookie="sgWebView=1; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/; SameSite=None; Secure";
// Disable view
document.cookie="sgWebView=0; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/; SameSite=None; Secure";

CSS

如果您需要更快地处理 CSS,可以启用 SW6 的 storefront-watch 并更新我们的 CSS 文件 src/Resources/app/storefront/src/scss/base.scss

示例 CSS 处理

这些只是示例,请查看 body 类以了解哪个页面有什么处理

/* All pages */
.is-sg-app {
    display: none;
}

/* Login page -> account/login */
body.is-ctl-auth.is-act-loginpage.is-sg-app {
    display: none;
}

/* Registration page -> account/register */
body.is-ctl-register.is-act-accountregisterpage.is-sg-app {
    display: none;
}

特殊

  • .is-sg-codebase-v1 - 指向旧的 Swift/Java 应用程序基础,我们可以通过在代理头中看到 Codebase:<11 来识别它
  • .is-sg-codebase-v2 - 指向新的 React Native 应用程序基础,我们可以通过在代理头中看到 Codebase: 11+ 来识别它(例如 libshopgate/25.0 (Jagdwelt 24 11.0.2 Codebase:11.0.2)

会话扩展

如果您正在创建自定义扩展。需要一个头部 shopgate-check: 1,并在常规 SW6 店面 API 调用中提供,以扩展当前的客户会话(如果已过期)。这将确保他们不会太频繁地被注销。