patrick-blom/article-limit-per-order

此模块扩展了文章结构,增加了单个文章的最大订购数量。此数量不能超过每个订单。

安装: 9

依赖: 0

建议: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 0

类型:oxideshop-module

1.0.0 2020-06-29 20:09 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:44 UTC


README

PHP Version Stable Version Package Name License Follow me on twitter

文章限购

此模块扩展了文章结构,增加了单个文章的最大订购数量。此数量不能超过每个订单。

关于此模块

仓鼠购物不仅仅是零售商店的问题。许多商店都有人大量购买文章的问题,尤其是在促销日。为了避免这种情况,此模块增加了在订单过程中添加最大数量限制的功能。通过此功能,您可以阻止人们购买超出他们应购买的数量。例如,卫生纸。此模块受到COVID-19问题的启发,因为人们开始像疯狂一样购买卫生纸。

Image alt="preview of the module"

兼容性

  • 该模块仅适用于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 文件。