urbanara/catalog-promotion-plugin

Sylius 的目录促销扩展。

安装: 86

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 8

类型:sylius-bundle


README

插件在 Sylius 平台上提供了目录促销的基本功能。

安装

  1. 将插件添加到您的供应商
$ composer require urbanara/catalog-promotion-plugin
  1. 扩展配置文件

    1. 导入项目配置

      # app/config/config.yml
      
      imports:
          ...
          - { resource: "@CatalogPromotionPlugin/Resources/config/app/grid.yml" }
    2. 导入项目路由

      # app/config/routing.yml
      ...
      
      urbanara_catalog_plugin:
          resource: "@CatalogPromotionPlugin/Resources/config/routing.yml"
          prefix: /admin
    3. 将插件添加到 AppKernel

      // app/AppKernel.php
      
      $bundles = [
         ...
          new \Urbanara\CatalogPromotionPlugin\CatalogPromotionPlugin(),
      ];
    4. 使用以下脚本扩展 gulp 文件

      // Gulpfile.js
      
      gulp.task('catalog-promotion', function() {
          return gulp.src([
              'node_modules/jquery/dist/jquery.min.js',
              'vendor/sylius/sylius/src/Sylius/Bundle/UiBundle/Resources/private/js/sylius-prototype-handler.js',
              'vendor/sylius/sylius/src/Sylius/Bundle/UiBundle/Resources/private/js/sylius-form-collection.js',
              'vendor/urbanara/catalog-promotion-plugin/src/Resources/public/**'
          ])
              .pipe(concat('app.js'))
              .pipe(sourcemaps.write('./'))
              .pipe(gulp.dest('web/assets/catalog/' + 'js/'))
              ;
      });
      
      gulp.task('default', ['admin', 'shop', 'catalog-promotion']);
  2. 要支持 SyliusElasticSearchPlugin,请应用以下更改

    1. app/config/config.yml 中配置 ONGR

      # app/config/config.yml
      
      ongr_elasticsearch:
          managers:
              default:
                  index:
                      index_name: sylius
                  mappings:
                      CatalogPromotionPlugin:
                          document_dir: ElasticSearch\Document
    2. 将所需的包添加到 app/AppKernel.php

      // app/AppKernel.php
      
      $bundles = [
          // ...
          new \Sylius\ElasticSearchPlugin\SyliusElasticSearchPlugin(),
          new \ONGR\ElasticsearchBundle\ONGRElasticsearchBundle(),
          new \ONGR\FilterManagerBundle\ONGRFilterManagerBundle(),
          new \SimpleBus\SymfonyBridge\SimpleBusCommandBusBundle(),
          new \SimpleBus\SymfonyBridge\SimpleBusEventBusBundle(),
      ];
  3. 如果您想在您的商店中看到划线价格,您需要自定义模板。一个示例自定义可以在 tests/Application/app/Resources/SyliusShopBundle 下找到。

用法

插件为目录促销提供了基本的 CRUD 功能,以及将影响购买物品的单元价格的处理程序。此外,还提供了一个 twig 辅助工具,该工具将返回一个包含旧价和新价的 ValueObject。

插件支持具有开始日期、结束日期、促销优先级、按渠道定制的促销、独家促销的目录促销。默认情况下,插件提供了两个规则和两个操作。规则

  • 是产品 - 促销将仅应用于在选择框中选定的产品。
  • 来自分类 - 促销将仅应用于具有至少一个选择框中选定的分类的产品。

操作

  • 固定值操作 - 将产品价格降低固定值。值按渠道设置。
  • 百分比操作 - 将产品价格降低一定百分比。

所有功能在 features/ 部分中描述。