findologic/plugin-shopware-6

Findologic Shopware 6 插件

安装次数: 5

依赖: 0

建议: 0

安全性: 0

星星: 6

关注者: 6

分支: 2

开放问题: 18

类型:shopware-platform-plugin

6.0.0 2024-05-14 09:41 UTC

This package is auto-updated.

Last update: 2024-09-27 08:39:35 UTC


README

Build Status

Shopware 6 的官方 Findologic 插件。

安装

生产

请参阅我们的 Shopware 6 文档

开发

  1. 安装 shopware-cli

  2. 设置测试商店

  3. 安装测试依赖

    1. composer require --dev symfony/test-pack
  4. 在 .env.test 文件中配置测试数据库(如果不存在则创建文件)

    • 如果您想使用 Docker 数据库,运行 docker-compose up -d
  5. 导航到插件文件夹

    cd custom/plugins
  6. 克隆此仓库

    git clone git@github.com:findologic/plugin-shopware-6.git
  7. 安装依赖

    cd plugin-shopware-6 && composer install
  8. 返回到商店根目录

    cd ../../..
  9. 刷新插件列表

    bin/console plugin:refresh --env="test"
  10. 安装并激活插件

bin/console plugin:install FinSearch --activate --clearCache --env="test"

运行 linting

CLI linting

Makefile 包含所有相关任务的命令

  • make storefront-lint
  • make administration-lint
  • make storefront-fix
  • make administration-fix

PHPStorm linting

管理和前端有不同的配置。根据当前项目,使用相应的配置。

前端

PHPStorm configuration storefront

管理

PHPStorm configuration administration

运行 PHPUnit 测试

先决条件

  • MySQL >= 8.0
  • PHP >= 8.1

设置

  1. 创建一个密码为 app 的数据库用户 app,该用户应具有创建、更新和删除所有数据库的权限。
  2. 在开发模板根目录中,初始化测试设置(在本地运行,在应用容器外部)
    ./psh.phar init
  3. 导航到插件并运行测试
    cd custom/plugins/plugin-shopware-6 && composer test

测试也可以在 IDE 中单独运行。只需确保将 phpunit.xml.dist 设置为配置文件。

PHPUnit configuration

运行前端 Jest 测试

先决条件

设置

  1. 导航到前端文件夹
    cd src/Resources/app/storefront
  2. 安装依赖
    npm install
  3. 使用 jest 运行单元测试
    npm run test

安装依赖后,也可以通过 IDE 运行所有测试,无需任何额外配置。

Running Jest test in IDE

开发自定义 JavaScript 插件

  • 查看关于如何扩展 js 前端插件的 官方指南
  • src/Resources/app/storefront/src/js/[your-plugin-name].plugin.js 内创建您的插件文件
  • 注册您的扩展插件
  • 开发构建: ./psh.phar storefront:dev
  • 生产构建: ./psh.phar storefront:build

请注意

  • 构建命令将在 src/Resources/app/storefront/dist/storefront/js/[plugin-name].js 中创建一个压缩的 JS 文件。
  • 在提交之前,请确保所有文件都已构建并添加到您的提交中。
  • 请确保还提交了压缩的 JavaScript 文件。

我们使用了一些特别适用于此插件和其他插件的库。请注意,这些库已经包含在插件本身中,因此您无需自行安装。

  • findologic/libflexport 帮助生成商店的数据馈送即导出。我们用它来根据商店的产品数据生成一个基于 XML 的文件。
  • findologic/shopware6-common 包含了导出所需的基本逻辑。
  • findologic/findologic-api 处理对FINDOLOGIC的请求。这包括发送查询参数,如选定的筛选器、输出属性,以及使用响应对象解析响应。

导出定制

在某些情况下,您可能想要导出额外的自定义导出数据。为了继续为您提供插件更新,我们有一个扩展插件。它覆盖了基础插件的逻辑,以反映您自己的逻辑。

使用FINDOLOGIC Shopware 6 扩展插件来自定义您的导出。已经预定义了一些示例,它们指导您如何自定义某些实体,如属性或属性。

部署和发布

  1. 更新变更日志 CHANGELOG_en-GB.mdCHANGELOG_de-DE.md
  2. 确保所有更改,包括变更日志更改,都已合并到 develop 分支。
  3. 在本地切换到 develop 分支并拉取最新的更改。
    git checkout develop
    git pull
  4. 开始发布过程并遵循说明。
    composer release
  5. 确保GitHub Actions 发布成功。
  6. 发布页面下载构建的zip文件,并将其上传到Google Drive。上传到文件夹 Development/Plugins/Shopware/Shopware 6 DI & API Plugin,并将旧版本移动到 alte Versionen
  7. 在Slack的 #releases 频道中通知所有人。