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

提交表单后 Sylius 丢失配置

如何解决提交表单后 Sylius 丢失配置

我正在尝试基于一个实体 MenuItem 创建一个动态菜单,该实体可以有一个父项和一个子项。 我使用这个配置:

#include<iostream>
int main()
{
    int num=4;
    while (num)
    {
        switch(num)
        {

            default:
                case 1:
                    std::cout<<"Executing "<<num<<"\n";
                
                case 2:
                
                case 3:
    
                break;
        }
        num--;          
    }
    return 0;
}
sylius_resource:
    resources:
        app.menu_item:
            classes:
                model: App\Infrastructure\Doctrine\Entity\Menu\DoctrineMenuItem
                repository: App\Infrastructure\Doctrine\Repository\DoctrineMenuItemRepository
                factory: App\Infrastructure\Factory\Menu\MenuItemFactory
                form: App\Infrastructure\Form\Admin\Menu\MenuItemType
sylius_grid:
    grids:
        app_admin_menu_item:
            driver:
                name: doctrine/orm
                options:
                    class: App\Infrastructure\Doctrine\Entity\Menu\DoctrineMenuItem
                    repository:
                        method: getFirstLevelItemsQB
sylius_grid:
    grids:
        app_admin_menu_group:
            driver:
                name: doctrine/orm
                options:
                    class: App\Infrastructure\Doctrine\Entity\Menu\DoctrineMenuItem
                    repository:
                        method: getGroupsByParentIdQB
                        arguments:
                            parentId: $parentId
app_admin_menu_item:
    resource: |
        alias: app.menu_item
        section: admin
        templates: "@SyliusAdmin\\Crud"
        redirect: index
        grid: app_admin_menu_item
        permission: true
        vars:
            index:
                icon: list
    type: sylius.resource

app_admin_menu_item_index:
    path: /
    methods: [GET]
    defaults:
        _controller: app.controller.menu_item:indexAction
        _sylius:
            repository:
                method: getFirstLevelItemList
            template: "@SyliusAdmin/Crud/index.html.twig"
            grid: app_admin_menu_item
            section: admin
            permission: true
app_admin_group_create:
    path: /new
    methods: [GET,POST]
    defaults:
        _controller: app.controller.menu_item:createAction
        _sylius:
            section: admin
            permission: true
            template: "@SyliusAdmin/Crud/create.html.twig"
            redirect:
                route: app_admin_group_index
                parameters: { parentId: $parentId }
            factory:
                method: createGroup
                arguments:
                    - expr:notFoundOnNull(service('app.repository.menu_item').find($parentId))
            vars:
                route:
                    parameters:
                        parentId: $parentId

问题是,当我提交菜单组项的表单时,Sylius 丢失了配置(尤其是工厂的配置)并获得了父项的配置。所以表单提交后工厂返回的对象不是我所期望的。

当我试图覆盖认的 FormType 时会发生这个问题,没有它,它工作正常。

有没有可能强迫他使用正确的配置?

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