findologic / plugin-shopware-6
Findologic Shopware 6 插件
6.0.0
2024-05-14 09:41 UTC
Requires
- php: >=8.2
- composer/semver: ^3.3
- findologic/findologic-api: ^2.0
- findologic/libflexport: ^3.1
- findologic/shopware6-common: ^3.0
- vin-sw/shopware-sdk: ^2.0
Requires (Dev)
- bramus/monolog-colored-line-formatter: ^3.0
- monolog/monolog: ^3.3.1
- squizlabs/php_codesniffer: ^3.5
- dev-develop
- 6.0.0
- v5.x-dev
- 5.1.1
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-RC4
- 4.0.0-RC3
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.0
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.1
- 2.7.0
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.1
- 2.2.0
- 2.2.0-RC1
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-rc.2
- v2.0.0-rc.1
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.3.0-rc.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- dev-SW-801_export_variants_with_different_attribute_values_v6
- dev-SW-815_variant_product_is_exported_instead_of_the_main_product_although_configured_v6
- dev-SW-815_variant_product_is_exported_instead_of_the_main_product_although_configured_v5
- dev-SW-810_adapt_saleschanel_language_logic_v5
- dev-SW-810_adapt_saleschanel_language_logic
- dev-SW-807_fix_collision_for_guzzle_http_client_v6
- dev-SW-807_fix_collision_for_guzzle_http_client_v5
- dev-SW-810_v5
- dev-SW-778_allow_the_pipe_character_in_property_values_name_v6
- dev-SW-778_allow_the_pipe_character_in_property_values_name_v5
- dev-SW-817_pagination_in_categories_have_to_work
- dev-SW-805_wrong_prices_are_exported
- dev-SW-803_export_issue_with_new_price_customfield_type
- dev-SW-805_wrong_prices_are_exported_v5
- dev-SW-Test_v6
- dev-SW-test_v5
- dev-SW-801_export_variants_with_different_attribute_values_v4
- dev-SW-810_language_id_on_different_sales_channels
- dev-SW-801_export_variants_with_different_attribute_values_main
- dev-SW-807_fix_collision_for_guzzle_http_client
- dev-SW-803_export_issue_with_new_price_customfield_type_v1
- dev-SW-778_allow_the_pipe_character_in_property_values_name
- dev-simplify_build_files
- dev-SW-778_allow_filter_values_with_pipe_character
- dev-SW-734_the_category_filter_must_work_on_navigate_pages
- dev-SW-665
- dev-SW-779_remove_utf8_control_characters_from_product_description
- dev-SW-508_It_must_be_possible_to_set_configurations_for_all_sales_channels
- dev-main
This package is auto-updated.
Last update: 2024-09-27 08:39:35 UTC
README
Shopware 6 的官方 Findologic 插件。
安装
生产
请参阅我们的 Shopware 6 文档。
开发
-
安装 shopware-cli
-
设置测试商店
- https://sw-cli.fos.gg/commands/project/
shopware-cli project create [folder] [version]
-
安装测试依赖
composer require --dev symfony/test-pack
-
在 .env.test 文件中配置测试数据库(如果不存在则创建文件)
- 如果您想使用 Docker 数据库,运行
docker-compose up -d
- 如果您想使用 Docker 数据库,运行
-
导航到插件文件夹
cd custom/plugins
-
克隆此仓库
git clone git@github.com:findologic/plugin-shopware-6.git
-
安装依赖
cd plugin-shopware-6 && composer install
-
返回到商店根目录
cd ../../..
-
刷新插件列表
bin/console plugin:refresh --env="test"
-
安装并激活插件
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
管理和前端有不同的配置。根据当前项目,使用相应的配置。
前端
管理
运行 PHPUnit 测试
先决条件
- MySQL >= 8.0
- PHP >= 8.1
设置
- 创建一个密码为
app
的数据库用户app
,该用户应具有创建、更新和删除所有数据库的权限。 - 在开发模板根目录中,初始化测试设置(在本地运行,在应用容器外部)
./psh.phar init
- 导航到插件并运行测试
cd custom/plugins/plugin-shopware-6 && composer test
测试也可以在 IDE 中单独运行。只需确保将 phpunit.xml.dist
设置为配置文件。
运行前端 Jest 测试
先决条件
- npm
- node
- 请参阅 Shopware 6 环境要求 的最小要求版本。
设置
- 导航到前端文件夹
cd src/Resources/app/storefront
- 安装依赖
npm install
- 使用 jest 运行单元测试
npm run test
安装依赖后,也可以通过 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 扩展插件来自定义您的导出。已经预定义了一些示例,它们指导您如何自定义某些实体,如属性或属性。
部署和发布
- 更新变更日志
CHANGELOG_en-GB.md
和CHANGELOG_de-DE.md
。 - 确保所有更改,包括变更日志更改,都已合并到
develop
分支。 - 在本地切换到
develop
分支并拉取最新的更改。git checkout develop git pull
- 开始发布过程并遵循说明。
composer release
- 确保GitHub Actions 发布成功。
- 从发布页面下载构建的zip文件,并将其上传到Google Drive。上传到文件夹
Development/Plugins/Shopware/Shopware 6 DI & API Plugin
,并将旧版本移动到alte Versionen
。 - 在Slack的
#releases
频道中通知所有人。