asdoria / sylius-catalog-mode-plugin
为sylius提供的目录模式。
0.1.1
2023-09-26 12:50 UTC
Requires
- php: ^8.0
- sylius/sylius: ^1.12
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-09-14 12:21:11 UTC
README
Asdoria 目录模式插件
为sylius商店添加目录模式
功能
- 禁用结账以将sylius商店切换到目录模式
安装
-
运行
composer require asdoria/sylius-catalog-mode-plugin
-
在
config/bundles.php
中添加该捆绑包。
Asdoria\SyliusCatalogModePlugin\AsdoriaSyliusCatalogModePlugin::class => ['all' => true],
- 在
config/packages/_sylius.yaml
中导入配置
imports: - { resource: "@AsdoriaSyliusCatalogModePlugin/config/config.yaml"}
在 src/Entity/Channel/Channel.php
中。导入以下类、特性和方法。
<?php declare(strict_types=1); namespace App\Entity\Channel; + use Asdoria\SyliusCatalogModePlugin\Model\Aware\CatalogModeAwareInterface; + use Asdoria\SyliusCatalogModePlugin\Traits\CatalogModeTrait; use Doctrine\ORM\Mapping as ORM; use Sylius\Component\Core\Model\Channel as BaseChannel; /** * @ORM\Entity * @ORM\Table(name="sylius_channel") */ class Channel extends BaseChannel + implements CatalogModeAwareInterface { + use CatalogModeTrait; }
- 覆盖
templates/bundles/SyliusShopBundle/Product/Show/_addToCart.html.twig
中的 _addToCart.html.twig。
+ {% if sylius.channel.isCatalogMode() == false %} {% 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> {{ form_row(form._token) }} {{ form_end(form, {'render_rest': false}) }} </div> + {% endif %}
演示
您可以通过以下链接在线尝试CatalogMode插件: 这里!.
请注意,我们为Sylius开发了几个其他开源插件,其演示和文档列在以下页面上。