All Projects → webgriffe → WebgriffeSyliusTableRateShippingPlugin

webgriffe / WebgriffeSyliusTableRateShippingPlugin

Licence: other
Sylius plugin which allows to define shipping rates using weight/rate tables.

Programming Languages

PHP
23972 projects - #3 most used programming language
Gherkin
971 projects
javascript
184084 projects - #8 most used programming language
Twig
543 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to WebgriffeSyliusTableRateShippingPlugin

SyliusInvoicePlugin
A Plugin for Sylius to generate invoices (! deprecated, use sylius/invoicing-plugin instead)
Stars: ✭ 13 (+0%)
Mutual labels:  sylius
SyliusSettingsPlugin
Provide some custom settings to your favorite Sylius shop!
Stars: ✭ 17 (+30.77%)
Mutual labels:  sylius
module-matrixrate
WebShopApps MatrixRates for Magento2
Stars: ✭ 115 (+784.62%)
Mutual labels:  shipping-rates
Gatsbylius
Fastest PWA eCommerce solution. Joins us as contributor.
Stars: ✭ 67 (+415.38%)
Mutual labels:  sylius
sitemap-plugin
Sitemap Plugin for Sylius eCommerce platform
Stars: ✭ 68 (+423.08%)
Mutual labels:  sylius
SyliusReportPlugin
Report Plugin for Sylius. This plugin add a report interface to the Sylius administration. Some reports comes with this bundle but you can create your custom reports.
Stars: ✭ 25 (+92.31%)
Mutual labels:  sylius
SyliusSchedulerCommandPlugin
Schedule Symfony Commands in your Sylius
Stars: ✭ 25 (+92.31%)
Mutual labels:  sylius
CoopTilleulsSyliusClickNCollectPlugin
Sell and deliver securely during the COVID-19 pandemic!
Stars: ✭ 77 (+492.31%)
Mutual labels:  sylius
SyliusPayUPlugin
PayU payment plugin for Sylius applications.
Stars: ✭ 21 (+61.54%)
Mutual labels:  sylius
Sylius
Open Source eCommerce Platform on Symfony
Stars: ✭ 6,598 (+50653.85%)
Mutual labels:  sylius
SyliusAkeneoPlugin
This Sylius plugin allows you to import data from Akeneo PIM
Stars: ✭ 17 (+30.77%)
Mutual labels:  sylius
SyliusBannerPlugin
Add Banners to your Sylius projects with this plugin
Stars: ✭ 13 (+0%)
Mutual labels:  sylius
Monofony
Main repository for all Monofony bundles
Stars: ✭ 47 (+261.54%)
Mutual labels:  sylius
CustomerOrderCancellationPlugin
Plugin that allows customers to cancel the placed order before it is processed.
Stars: ✭ 22 (+69.23%)
Mutual labels:  sylius
Jedisjeux
Boardgames website, based on Symfony framework and Sylius.
Stars: ✭ 13 (+0%)
Mutual labels:  sylius
PayPalPlugin
Official integration with PayPal Commerce Platform
Stars: ✭ 21 (+61.54%)
Mutual labels:  sylius
SyliusInvoicingPlugin
This plugin enables generating invoices in Sylius platform application.
Stars: ✭ 21 (+61.54%)
Mutual labels:  sylius
ezplatform-sylius
eZ Platform and Sylius eCommerce integration
Stars: ✭ 31 (+138.46%)
Mutual labels:  sylius
SyliusCmsPagePlugin
A Sylius plugin to manage your CMS pages
Stars: ✭ 26 (+100%)
Mutual labels:  sylius
SyliusFeedPlugin
Create feeds in your Sylius shop
Stars: ✭ 20 (+53.85%)
Mutual labels:  sylius

Table Rate Shipping Plugin

This plugin allows to define shipping rates using weight tables.

Build Status

Installation

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

  2. Add the plugin to the config/bundles.php file:

    Webgriffe\SyliusTableRateShippingPlugin\WebgriffeSyliusTableRateShippingPlugin::class => ['all' => true],
  3. Add the plugin's config to by creating the file config/packages/webgriffe_sylius_table_rate_shipping_plugin.yaml with the following content:

    imports:
        - { resource: "@WebgriffeSyliusTableRateShippingPlugin/Resources/config/config.yml" }
  4. Add the plugin's routing by creating the file config/routes/webgriffe_sylius_table_rate_shipping_plugin.yaml with the following content:

    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. Finish the installation by updating the database schema and installing assets:

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

Contributing

To contribute you need to:

  1. Clone this repository into you development environment and go to the plugin's root directory,

  2. Then, from the plugin's root directory, run the following commands:

    composer install
  3. Copy tests/Application/.env in tests/Application/.env.local and set configuration specific for your development environment.

  4. Then, from the plugin's root directory, run the following commands:

    (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/download)
  5. Now at http://localhost:8080/ you have a full Sylius testing application which runs the plugin

Testing

After your changes you must ensure that the tests are still passing.

First setup your test database:

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

This plugin's test application already comes with a test configuration that uses SQLite as test database. If you don't want this you can create a tests/Application/.env.test.local with a different DATABASE_URL.

The current CI suite runs the following tests:

  • 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 (without Javascript)

    vendor/bin/behat --tags="~@javascript"
  • Behat (only Javascript)

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

To run them all with a single command run:

composer suite

To run Behat's Javascript scenarios you need to setup Selenium and Chromedriver. Do the following:

  1. Start Headless 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. Install SSL certificates (only once needed) and run test application's webserver on 127.0.0.1:8080:

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

License

This library is under the MIT license. See the complete license in the LICENSE file.

Credits

Developed by Webgriffe®.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].