asdoria / sylius-quote-request-plugin
在 sylius 中生成报价请求。
0.1.2
2023-10-12 15:31 UTC
Requires
- php: ^8.0
- asdoria/sylius-quick-shopping-plugin: ^0.1
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- 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.43
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- sylius-labs/coding-standard: ^4.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: 5.15.0
Conflicts
- symfony/framework-bundle: 6.2.8
This package is auto-updated.
Last update: 2024-08-30 11:47:38 UTC
README
Asdoria QuoteRequest 插件
将报价请求管理简单地集成到 Sylius 商店
功能
- 管理您店铺的报价请求
安装
-
运行
composer require asdoria/sylius-quote-request-plugin
-
在
config/bundles.php
中添加捆绑
Asdoria\SyliusQuoteRequestPlugin\AsdoriaSyliusQuoteRequestPlugin::class => ['all' => true],
- 在
config/routes.yaml
中导入路由
asdoria_quick_shopping: resource: "@AsdoriaSyliusQuickShoppingPlugin/Resources/config/routing.yaml" asdoria_quote_request: resource: "@AsdoriaSyliusQuoteRequestPlugin/config/routing.yaml" #if you don't want to use the quick sopping page added this route asdoria_shop_quick_shopping_index: path: /{_locale}/quick-shopping controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction defaults: route: asdoria_shop_quote_request_index # make a permanent redirection... permanent: true # ...and keep the original query string parameters keepQueryParams: true
- 在
config/packages/_sylius.yaml
中导入配置
imports: - { resource: "@AsdoriaSyliusQuickShoppingPlugin/Resources/config/config.yaml"} - { resource: "@AsdoriaSyliusQuoteRequestPlugin/config/config.yaml"}
- 将以下内容粘贴到
src/Repository/ProductVariantRepository.php
<?php declare(strict_types=1); namespace App\Repository; use Asdoria\SyliusQuickShoppingPlugin\Repository\Model\ProductVariantRepositoryAwareInterface; use Asdoria\SyliusQuickShoppingPlugin\Repository\ProductVariantRepositoryTrait; use Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository as BaseProductVariantRepository; final class ProductVariantRepository extends BaseProductVariantRepository implements ProductVariantRepositoryAwareInterface { use ProductVariantRepositoryTrait; }
- 在
config/packages/_sylius.yaml
中配置仓库
sylius_product:
resources:
product_variant:
classes:
model: App\Entity\Product\ProductVariant
+ repository: App\Repository\ProductVariantRepository
- 覆盖
templates/bundles/SyliusShopBundle/Product/Show/_addToCart.html.twig
中的 _addToCart.html.twig
{% set product = order_item.variant.product %} {% form_theme form '@SyliusShop/Form/theme.html.twig' %} <div class="ui segment" id="sylius-product-selecting-variant" {{ sylius_test_html_attribute('product-selecting-variant') }}> {{ sylius_template_event('sylius.shop.product.show.before_add_to_cart', {'product': product, 'order_item': order_item}) }} {{ form_start(form, {'action': path('sylius_shop_ajax_cart_add_item', {'productId': product.id}), 'attr': {'id': 'sylius-product-adding-to-cart', 'class': 'ui loadable form', 'novalidate': 'novalidate', 'autocomplete': 'off', 'data-redirect': path(configuration.getRedirectRoute('summary'))}}) }} {{ form_errors(form) }} <div class="ui red label bottom pointing hidden sylius-validation-error" id="sylius-cart-validation-error" {{ sylius_test_html_attribute('cart-validation-error') }}></div> {% if not product.simple %} {% if product.variantSelectionMethodChoice %} {% include '@SyliusShop/Product/Show/_variants.html.twig' %} {% else %} {% include '@SyliusShop/Product/Show/_options.html.twig' %} {% endif %} {% endif %} {{ form_row(form.cartItem.quantity, sylius_test_form_attribute('quantity')) }} {{ sylius_template_event('sylius.shop.product.show.add_to_cart_form', {'product': product, 'order_item': order_item, 'form': form}) }} - <button type="submit" class="ui huge primary icon labeled button" {{ sylius_test_html_attribute('add-to-cart-button') }}><i class="cart icon"></i> {{ 'sylius.ui.add_to_cart'|trans }}</button> + <div class="ui buttons"> + <button type="submit" class="ui huge primary icon labeled button" {{ sylius_test_html_attribute('add-to-cart-button') }}><i class="cart icon"></i> {{ 'sylius.ui.add_to_cart'|trans }}</button> + <div class="or" data-text="{{ 'asdoria_quote_request.ui.shop.or'|trans }}"></div> + <button type="submit" + id="asdoria-shop-quote-request-add-to-quote" + data-action="{{ path('sylius_shop_ajax_quote_add_item', {'productId': product.id}) }}" + class="ui huge primary icon labeled button" {{ sylius_test_html_attribute('add-to-quote-button') }} + data-redirect="{{ path('asdoria_shop_quote_request_index') }}" + data-csrf-token="{{ csrf_token('asdoria-shop-quote-request-add-to-quote') }}" + > + <i class="box icon"></i> + {{ 'asdoria_quote_request.ui.shop.add_to_quote'|trans }} + </button> + </div> {{ form_row(form._token) }} {{ form_end(form, {'render_rest': false}) }} </div>
演示
您可以通过以下链接在线尝试 QuoteRequest 插件: 这里!.
请注意,我们为 Sylius 开发了几个其他开源插件,其演示和文档列在 以下页面 上。
用法
- 在商店办公室,前往 /en_US/quote-request 路由。