orocrm - OroCommerce:具有扩展 oro 实体的表单

标签 orocrm orocommerce

我需要在订购过程中实现一些额外的东西 - 对于每个订购的项目,crm 用户应该选择一个客户“选项”,并且该选择应该按顺序保存。
因此,我创建了与 Customer 具有 ManyToOne 关系的新实体,为其实现了 CRUD,并且一切正常,成功创建了具有不同 Customer 的项目数。
比我扩展 Oro ShoppingList LineItem - 创建的迁移 addManyToOneRelation我的实体和新的下拉菜单神奇地出现,允许使用自动完成框选择实体。一切正常,除了我只需要看到与客户相关的项目而不是所有创建的实体。它很容易获得客户(LineItem->customerUser->customer)但是如何为用于下拉列表的查询指定它?目前一切都是由oro创建的(这真的很酷),我只做了一个迁移添加关系,我没有写任何可以指定客户参数的代码。
此外,最好实现一些逻辑来验证为 LineItem 中的产品选择的选项与客户相关,并在由于某种原因错误时抛出异常。但是我可以在哪里实现呢?
Here is pic with form .还想知道为什么新字段未对齐?

最佳答案

要拥有自定义实体列表,您必须覆盖用于您创建的实体字段的表单类型。
要创建自定义表单类型,请遵循 Symfony 指南:https://symfony.com/doc/4.4/form/create_custom_field_type.html#creating-form-types-based-on-symfony-built-in-types .
然后在 ['form']['form_type'] 选项中使用新的表单类型进行迁移,如下例所示:https://github.com/oroinc/platform/blob/67d71ffdb3491e767d323b3a775920db252718d2/src/Oro/Bundle/UserBundle/Migrations/Schema/v2_2/UpdateUserFormType.php#L17-L24。省略示例中的最后一个参数,因为您应该在任何情况下替换该值。

关于orocrm - OroCommerce:具有扩展 oro 实体的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66323606/

相关文章:

symfony - Oro平台 : Override core entity form builder

azure - Orocrm Azure VM https 设置

orocommerce - Assets 构建错误 [webpack-cli] 错误 : Unknown option '--hide-modules'

javascript - 我正在尝试使用 requirejs 将我自己的 js 文件添加到 orocommerce 但没有成功

php - 如何在 CentOS 6.x 上更新 PHP 和安装 ICU 库

orocrm - Oro平台 : Open items from application_menu in a new tab