sulu/product-bundle

此包已被 废弃 且不再维护。未建议替代包。

Sulu 产品管理套餐

安装数: 10,994

依赖者: 6

建议者: 0

安全性: 0

星标: 6

关注者: 27

分支: 8

开放问题: 30

类型: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产品开发者文档可在此处找到:开发者文档