微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Prestashop 1.7 - 覆盖 Symfony 表单约束

如何解决Prestashop 1.7 - 覆盖 Symfony 表单约束

上下文

我正在尝试更改产品名称属性的约束并将字段长度增加到 300 个字符。

问题

src/PrestaShopBundle/Form/Admin/Product/Productinformation.PHP 中,我可以更改:

->add('name',TranslateType::class,[
    'type' => FormType\TextType::class,'options' => [
        'constraints' => [
            new Assert\Regex([
                'pattern' => '/[<>;=#{}]/','match' => false,]),new Assert\NotBlank(),new Assert\Length(['min' => 3,'max' => 128]),],])

->add('name','max' => 300]),])

而且……它有效。但是如果更新 PrestaShop 会发生什么。我需要一种更优雅的方式来做到这一点。

更新 #1

官方 PrestaShop Github 存储库上有 PR。我在等待答复:https://github.com/PrestaShop/PrestaShop/issues/23977

解决方法

经典的方法是覆盖模型,在这种情况下是/override/classes/Product.php

在静态 $definition 上,您将名称字段、大小属性从 128 更改为 300

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。