【问题标题】:how to customize Sylius in order to sell free products (by default the min. price is 0.01)如何自定义 Sylius 以销售免费产品(默认最低价格为 0.01)
【发布时间】:2017-03-09 08:27:43
【问题描述】:

我必须建立一个基于 sylius 的商店来销售免费产品。 为此,我按照文档“Customizing Validation”进行了修改:

#AppBundle/Resources/config/validation.yml
Sylius\Component\Core\Model\ChannelPricing:
    # see http://docs.sylius.org/en/latest/customization/validation.html
    #the original constraint said that the minimum price is 0.01 in vendor/sylius/sylius/src/Sylius/Bundle/CoreBundle/Resources/config/validation/ChannelPricing.xml
    properties:
        price:
            - NotBlank:
                message: sylius.channel_pricing.price.not_blank
                groups: [app_product]
            - Range:
                min: 0
                minMessage: app.channel_pricing.price.min
                groups: [app_product]

#app/config/parameters.yml
parameters:
    sylius.form.type.channel_pricing.validation_groups: [app_product] # see http://docs.sylius.org/en/latest/customization/validation.html

什么结果都没有:在 symfony 分析器中,仍然应用了 sylius 验证组。

我不知道我做错了什么。

请注意:

  • 我尝试将参数存储到 service.yml 文件中,但没有任何改变。
  • 我不知道如何找到参数的名称,所以我使用了类似于资源sylius.channel_pricing 的名称(参见:bin/console sylius:debug:resource sylius.channel_pricing

【问题讨论】:

  • 我不知道 Sylius 但是...如果删除 NotBlank 规则会怎样?
  • 您好,我刚试过,它没有任何改变:默认情况下验证组仍然是一个sylius。可能是因为我选了一个不好的参数名,但是找不到好的参数名...sylius.form.type.channel_pricing.validation_groups

标签: php validation doctrine-orm symfony sylius


【解决方案1】:

我从@pjedrzejewski 复制粘贴一个答案:

也许您应该使用促销来应用适当的折扣并获得 订单总数为0?然后 Sylius 应该处理得很好。我不是 当然我们应该允许将价格设置为 0,这可能会导致严重的错误

【讨论】:

  • 默认是我必须在安装过程的管理面板中激活这个促销。
  • 我还不得不覆盖许多模板,以便用“免费”提及替换非促销价格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多