Раньше, чтобы загрузить цитату по идентификатору, я использовал фабрику:
protected $quoteFactory;
public function __construct(
...
\Magento\Quote\Model\QuoteFactory $quoteFactory,
....
) {
....
$this->quoteFactory = $quoteFactory;
....
}
Но с тех пор, как двигаться дальше, рекомендуется использовать контракт на обслуживание:
protected $cartRepository;
public function __construct(
...
\Magento\Quote\Api\CartRepositoryInterface $cartRepository,
....
) {
....
$this->quoteRepository = $cartRepository;
....
}
Однако это даст мне API корзины, и некоторые функции, доступные в Цитате, такие как getAllItems
, я не могу использовать через службу корзины, функция getItems
отображает только видимые (то есть исключает дочерние элементы изнастраиваемый элемент). Это сделано таким образом, чтобы ограничить недобросовестные действия или как я могу получить цитату, используя quote_id или сервис корзины?