asdoria/sylius-catalog-mode-plugin

为sylius提供的目录模式。

安装: 617

依赖项: 0

建议者: 0

安全: 0

星星: 1

关注者: 0

分支: 3

开放问题: 2

类型:sylius-plugin


README

Logo Asdoria

Asdoria 目录模式插件

为sylius商店添加目录模式

功能

  • 禁用结账以将sylius商店切换到目录模式

安装

  1. 运行 composer require asdoria/sylius-catalog-mode-plugin

  2. config/bundles.php 中添加该捆绑包。

Asdoria\SyliusCatalogModePlugin\AsdoriaSyliusCatalogModePlugin::class => ['all' => true],
  1. 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;
}
  1. 覆盖 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开发了几个其他开源插件,其演示和文档列在以下页面上。