sulu/product-base-bundle

此软件包已被弃用且不再维护。作者建议使用 sulu/product-bundle 软件包。

Sulu产品管理软件包

安装数量: 1,351

依赖项: 0

建议者: 0

安全性: 0

星级: 7

关注者: 27

分支: 8

类型:sulu-bundle

0.17.6 2018-05-07 13:59 UTC

README

依赖项

Sulu

此版本的产品软件包仅适用于sulu版本 >= 1.3。如果您使用的是较旧版本的sulu,请使用产品软件包版本 ~0.16

安装

将以下内容添加到 composer.json

"sulu/product-bundle": "~0.16"

将以下内容添加到您的应用程序内核

// Product bundle
new Sulu\Bundle\ProductBundle\SuluProductBundle(),
new Sulu\Bundle\ValidationBundle\SuluValidationBundle(),

将以下内容添加到您的 admin/routing.yml

# Sulu Product Bundle
sulu_product:
    resource: "@SuluProductBundle/Resources/config/routing.yml"
    prefix: /admin/product

sulu_product_api:
    type: rest
    resource: "@SuluProductBundle/Resources/config/routing_api.yml"
    prefix: /admin/api

配置

示例配置

sulu_route:
    mappings:
        Sulu\Bundle\ProductBundle\Entity\ProductTranslation:
            generator: schema
            options:
                route_schema: /products/{object.getName()}

sulu_product:
    category_root_key: ~
    default_currency: 'EUR'
    default_formatter_locale: 'en'
    display_recurring_prices: true
    fallback_locale: de
    fixtures:
        attributes:
            - src/Acme/Bundle/ProductBundle/DataFixtures/attributes.xml
    locales:
        - de
        - en
    objects:
        product:
            model: Acme\Bundle\ProductBundle\Entity\Product
            repository: Acme\Bundle\ProductBundle\Entity\ProductRepository
    template: AcmeShopBundle:views:templates/productdetail.html.twig

注意:如果您使用Sulu 1.3.*,则必须按如下方式定义路由

sulu_route:
    mappings:
        Sulu\Bundle\ProductBundle\Entity\ProductTranslation:
            route_schema: /products/{object.getName()}

本地化

可以在配置中定义用于管理产品的多个区域设置。如果没有定义,则默认使用 'en'。

如果用户的语言与给定的任何区域设置匹配,则在该区域设置中显示。否则使用 fallback_locale 参数。

自定义路由

您可以通过为 ProductTranslation 实体定义 sulu_route.mappings 参数来定义自定义路由。然后,您可以指定 sulu_product.template 参数来定义在调用路由时显示的模板。

要更新现有产品的路由,只需调用

var/console sulu:route:update SuluProductBundle:ProductTranslation --batch-size 1

路由机制的工作方式

在创建新产品翻译时,会创建一个新的路由。然后您可以在内容标签中更改路由的路径。

定义路由时可用以下属性

  • object (ProductTranslation)
  • product (Api/Product) 和当然
  • 翻译者

周期性价格

可以通过参数 display_recurring_prices 禁用周期性价格属性。此选项隐藏周期性价格的UI元素。

自定义实体和存储库

如果您想覆盖sulu产品实体,只需设置 objects.product 参数。

商店模板

对于商店用途,可以使用 template 来定义显示产品详情的模板。

属性固定装置

您可以编写多个属性固定装置文件,并在配置中定义xml文件的路径(如示例中所示)

示例 XML

<attributes>
    <attribute>
        <key>example.key</key>
        <type>1</type>
        <names>
            <name locale="en">English Attribute</name>
            <name locale="de">German Attribute</name>
        </names>
        <values>
            <value>
                <name locale="de">German Value 1</name>
                <name locale="en">English Value 1</name>
            </value>
            <value>
                <name locale="de">German Value 2</name>
                <name locale="en">English Value 2</name>
            </value>
        </values>
    </attribute>
</attributes>

内容类型 'product'

<property name="product" type="product" mandatory="true">
    <meta>
        <title lang="de">Produkt</title>
        <title lang="en">Product</title>
    </meta>
</property>

API 文档

以下 API 已有文档: 产品插件 API 产品变体 API

开发者文档

Sulu 产品开发者文档可在此处找到: 开发者文档