patrick-blom / article-limit-per-order
此模块扩展了文章结构,增加了单个文章的最大订购数量。此数量不能超过每个订单。
1.0.0
2020-06-29 20:09 UTC
Requires
- php: >=7.1
- oxid-esales/oxideshop-ce: ^v6.5.3
Requires (Dev)
- oxid-esales/testing-library: ^v7.1.1
- phpstan/phpstan: ^0.12.29
This package is auto-updated.
Last update: 2024-09-29 05:42:44 UTC
README
文章限购
此模块扩展了文章结构,增加了单个文章的最大订购数量。此数量不能超过每个订单。
关于此模块
仓鼠购物不仅仅是零售商店的问题。许多商店都有人大量购买文章的问题,尤其是在促销日。为了避免这种情况,此模块增加了在订单过程中添加最大数量限制的功能。通过此功能,您可以阻止人们购买超出他们应购买的数量。例如,卫生纸。此模块受到COVID-19问题的启发,因为人们开始像疯狂一样购买卫生纸。
兼容性
- 该模块仅适用于OXID eShop 6.2及以上版本
- 该模块是在OXID eShop社区版上构建的,并将在此版本上运行
- 该模块应适用于OXID eShop专业版和OXID eShop企业版
- 该模块已在OXID eShop社区版上进行了测试
- 该模块未在OXID eShop专业版和OXID eShop企业版上测试
要求
- OXID eShop 6.2社区版(或更高版本)
- PHP 7.1(或更高版本)
通过composer安装模块
默认安装通过packagist(推荐)
- 将模块添加到您的商店composer.json
cd <shop root>
composer require patrick-blom/article-limit-per-order
通过GitHub(手动)的替代安装
- 在商店根目录级别(与composer.json同一级别)创建一个名为"thirdparty"的新文件夹,并在其中创建一个名为"pb"的子文件夹
cd <shop root>
mkdir -p thirdparty/pb
- 将存储库克隆到新文件夹中
git clone git@github.com:patrick-blom/article-limit-per-order.git thirdparty/pb/ArticleLimitPerOrder
- 导航回商店根目录并添加存储库到composer.json
composer config repositories.patrick-blom/article-limit-per-order path thirdparty/pb/ArticleLimitPerOrder
- 将模块添加到您的商店composer.json
composer require patrick-blom/article-limit-per-order
OXID eShop模块激活(默认和替代安装相同)
- 为eShop 6.2准备模块配置
vendor/bin/oe-console oe:module:install-configuration source/modules/pb/ArticleLimitPerOrder/
vendor/bin/oe-console oe:module:apply-configuration
- 激活模块
vendor/bin/oe-console oe:module:activate articlelimitperorder
- 由于模块添加了新的数据库字段,因此需要重新生成统一命名空间和视图
vendor/bin/oe-eshop-unified_namespace_generator
vendor/bin/oe-eshop-db_views_regenerate
使用方法
- 安装和激活后,您将在
管理产品 -> 产品 -> [选择一个产品,例如:1505] -> 库存(选项卡)下找到名为“每个订单最大数量”的字段
- 添加每个订单中最大文章数量(例如,2 - 表示每个订单最多两篇此类文章)并保存文章
- 如果想要没有数量限制的文章,则在字段中输入数字0并保存文章
测试
!注意!
测试过程应在开发环境或CI管道中执行。
准备
- 按照说明安装模块
- 根据其存储库中的说明准备OXID测试库或使用oxvm_eshop / docker-eshop-sdk
- 将
pb/ArticleAlert
添加到您的 test_config.yml 中的部分模块路径(例如:partial_module_paths: 'pb/ArticleLimitPerOrder'
) - 将供应商模块目录中的
config.inc.TEST.php.dist
复制到您的店铺根目录,并将其重命名为config.inc.TEST.php
- 调整
config.inc.TEST.php
中的设置以满足您的需求(测试数据库名称、错误报告等) - 修改您的
config.inc.php
并确保在测试期间加载config.inc.TEST.php
// bottom of config.inc.php if (defined('OXID_PHP_UNIT')) { include "config.inc.TEST.php"; }
运行测试
- 导航到店铺根目录
- 使用以下命令运行测试:
php vendor/bin/runtests <shop root absolute path>/source/modules/pb/ArticleLimitPerOrder/Tests
- 使用以下命令运行覆盖率测试:
php vendor/bin/runtests-coverage <shop root absolute path>/source/modules/pb/ArticleLimitPerOrder/Tests
运行静态分析
- 使用以下命令安装 phpstan:
composer require --dev phpstan/phpstan
- 使用以下命令运行静态分析
- 导航到
<shop root>
- 使用以下参数运行 phpstan:
vendor/bin/phpstan analyze -c source/modules/pb/ArticleLimitPerOrder/phpstan.neon
- 导航到
许可证
该模块采用 GPL-3.0 许可证发布。要全面了解,请查看 LICENSE 文件。