Shopware 6 中嵌套 LineItem 的用例是什么?

adm*_*i22 2 php e-commerce shopware shopware6

有人以前使用过嵌套 lineItems 吗?我在文档中找到了参考资料,并且还偶然发现了一些测试,其中 lineItem 是 LineItemCollection:

public function testCartWithNestedLineItemHasChildren(): void
    {
        $cart = new Cart('test', 'test');

        $cart->add(
            (new LineItem('nested', 'nested'))
                ->setChildren(
                    new LineItemCollection([
                        (new LineItem('A', 'test'))->setGood(true),
                        (new LineItem('B', 'test'))->setGood(true),
                    ])
                )
        );

        $cart->add(
            (new LineItem('flat', 'flat'))->setGood(true)
        );

        static::assertCount(4, $cart->getLineItems()->getFlat());
        static::assertCount(2, $cart->getLineItems());
    }
Run Code Online (Sandbox Code Playgroud)

这个功能得到很好的支持吗?例如,不可能通过管理“创建订单”界面创建嵌套的 lineItem,而且我也没有找到通过店面创建嵌套项目的方法。此功能的预期用例是什么?

dne*_*adt 5

此功能由某些扩展使用,例如Custom Products。在那里,它用于将可定制选项与附加费分组到可定制产品本身的保护伞下。虽然目前在普通 Shopware 中可能没有用于创建嵌套订单项的用户界面,但它仍然经过持续测试并且是官方支持的功能。