webgriffe / sylius-table-rate-shipping-plugin
提供表格运费计算器。
Requires
- php: ^8.1
- sylius/sylius: ^1.13.3
- symfony/webpack-encore-bundle: ^1.15
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.6
- dbrekelmans/bdi: ^1.1
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.0.0
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.1
- phpstan/phpstan-doctrine: 1.3.16
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.6 || ^10.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.2
- sylius-labs/suite-tags-extension: ^0.2
- symfony/browser-kit: ^5.4 || ^6.0
- symfony/debug-bundle: ^5.4 || ^6.0
- symfony/dotenv: ^5.4 || ^6.0
- symfony/flex: ^2.2.2
- symfony/intl: ^5.4 || ^6.0
- symfony/web-profiler-bundle: ^5.4 || ^6.0
- vimeo/psalm: 4.27.0
README
表格运费插件
此插件允许使用重量表定义运费。
安装
-
运行
composer require --no-scripts webgriffe/sylius-table-rate-shipping-plugin
。 -
将插件添加到
config/bundles.php
文件中Webgriffe\SyliusTableRateShippingPlugin\WebgriffeSyliusTableRateShippingPlugin::class => ['all' => true],
-
通过创建文件
config/packages/webgriffe_sylius_table_rate_shipping_plugin.yaml
并添加以下内容来添加插件的配置imports: - { resource: "@WebgriffeSyliusTableRateShippingPlugin/Resources/config/config.yml" }
-
通过创建文件
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%
-
通过更新数据库模式并安装资源来完成安装
bin/console cache:clear bin/console doctrine:migrations:diff bin/console doctrine:migrations:migrate bin/console assets:install bin/console sylius:theme:assets:install
贡献
要贡献,您需要
-
将此存储库克隆到您的开发环境中,并进入插件的根目录,
-
然后,从插件的根目录运行以下命令
composer install
-
将
tests/Application/.env
复制到tests/Application/.env.local
并设置适用于您的开发环境的具体配置。 -
然后,从插件的根目录运行以下命令
(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)
-
现在在 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。请执行以下操作
-
启动无头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
-
安装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® 开发。