webgriffe/sylius-table-rate-shipping-plugin

提供表格运费计算器。


README

表格运费插件

此插件允许使用重量表定义运费。

Build Status

安装

  1. 运行 composer require --no-scripts webgriffe/sylius-table-rate-shipping-plugin

  2. 将插件添加到 config/bundles.php 文件中

    Webgriffe\SyliusTableRateShippingPlugin\WebgriffeSyliusTableRateShippingPlugin::class => ['all' => true],
  3. 通过创建文件 config/packages/webgriffe_sylius_table_rate_shipping_plugin.yaml 并添加以下内容来添加插件的配置

    imports:
        - { resource: "@WebgriffeSyliusTableRateShippingPlugin/Resources/config/config.yml" }
  4. 通过创建文件 config/routes/webgriffe_sylius_table_rate_shipping_plugin.yaml 并添加以下内容来添加插件的路由

    webgriffe_sylius_table_rate_shipping_plugin_shop:
      resource: "@WebgriffeSyliusTableRateShippingPlugin/Resources/config/shop_routing.yml"
      prefix: /{_locale}
      requirements:
        _locale: ^[A-Za-z]{2,4}(_([A-Za-z]{4}|[0-9]{3}))?(_([A-Za-z]{2}|[0-9]{3}))?$
    
    webgriffe_sylius_table_rate_shipping_plugin_admin:
      resource: "@WebgriffeSyliusTableRateShippingPlugin/Resources/config/admin_routing.yml"
      prefix: /%sylius_admin.path_name%
    
  5. 通过更新数据库模式并安装资源来完成安装

    bin/console cache:clear
    bin/console doctrine:migrations:diff
    bin/console doctrine:migrations:migrate
    bin/console assets:install
    bin/console sylius:theme:assets:install

贡献

要贡献,您需要

  1. 将此存储库克隆到您的开发环境中,并进入插件的根目录,

  2. 然后,从插件的根目录运行以下命令

    composer install
  3. tests/Application/.env 复制到 tests/Application/.env.local 并设置适用于您的开发环境的具体配置。

  4. 然后,从插件的根目录运行以下命令

    (cd tests/Application && yarn install)
    (cd tests/Application && yarn build)
    (cd tests/Application && bin/console assets:install public)
    (cd tests/Application && bin/console doctrine:database:create)
    (cd tests/Application && bin/console doctrine:schema:create)
    (cd tests/Application && bin/console sylius:fixtures:load)
    (cd tests/Application && symfony server:start -d) # Requires Symfony CLI (https://symfony.com.cn/download)
  5. 现在在 https://:8080/,您有一个完整的Sylius测试应用程序,它运行了该插件

测试

在您的更改之后,您必须确保测试仍然通过。

首先设置您的测试数据库

```bash
(cd tests/Application && bin/console -e test doctrine:database:create)
(cd tests/Application && bin/console -e test doctrine:schema:create)
```

此插件的测试应用程序已经包含一个测试配置,它使用SQLite作为测试数据库。如果您不希望这样,可以创建一个 tests/Application/.env.test.local 并使用不同的 DATABASE_URL

当前的CI套件运行以下测试

  • Easy Coding Standard

    vendor/bin/ecs check src/ tests/Behat/
  • PHPStan

    vendor/bin/phpstan analyse -c phpstan.neon -l max src/
  • PHPUnit

    vendor/bin/phpunit
  • PHPSpec

    vendor/bin/phpspec run
  • Behat(无JavaScript)

    vendor/bin/behat --tags="~@javascript"
  • Behat(仅JavaScript)

    vendor/bin/behat --tags="@javascript"

要使用单个命令运行它们,请运行

composer suite

要运行Behat的JavaScript场景,您需要设置Selenium和Chromedriver。请执行以下操作

  1. 启动无头Chrome

    google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1
  2. 安装SSL证书(仅需要一次)并在 127.0.0.1:8080 上运行测试应用程序的Web服务器

    symfony server:ca:install
    APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon

许可证

此库受MIT许可证的约束。有关完整的许可证信息,请参阅LICENSE文件。

鸣谢

Webgriffe® 开发。