Получение всех продуктов из заказа и разница между getAllItems() и getAllVisibleItems() в magento.

Когда перед нами стоит задача получить все продукты из заказа в magento, то наиболее простым и логичным, на первый взгляд, вариантом является использование метода getAllItems(). Однако, если в нашем заказе оказались конфигурируемые продукты, то результат оказывается не совсем таким как мы ожидали – на выходе получаем список, состоящий из простых продуктов и их родительских конфигурируемых, т.е вместо одной позиции – две.
Если же нужно получить просто все продукты без удваивания из-за конфигурируемых, то следует воспользоваться методом getAllVisibleItems().
Для подтверждения сравните $allItemCount и $allVisibleItemsCount, а так же массивы $allItems и $allVisibleItems в нижеприведенном коде.

Такми образом, мы убеждаемся, что наиболее приемлемым вариантом является использование метода getAllVisibleItems() для получения продутов из заказа в magento.