6 declare(strict_types=1);
26 private $blockDataProvider;
32 BlockDataProvider $blockDataProvider
34 $this->blockDataProvider = $blockDataProvider;
48 $blockIdentifiers = $this->getBlockIdentifiers($args);
49 $blocksData = $this->getBlocksData($blockIdentifiers);
52 'items' => $blocksData,
62 private function getBlockIdentifiers(array $args): array
64 if (!isset($args[
'identifiers']) || !is_array($args[
'identifiers']) || count($args[
'identifiers']) === 0) {
68 return $args[
'identifiers'];
76 private function getBlocksData(array $blockIdentifiers): array
80 foreach ($blockIdentifiers as $blockIdentifier) {
81 $blocksData[$blockIdentifier] = $this->blockDataProvider->getData($blockIdentifier);
83 }
catch (NoSuchEntityException $e) {
84 throw new GraphQlNoSuchEntityException(
__($e->getMessage()), $e);
resolve(Field $field, $context, ResolveInfo $info, array $value=null, array $args=null)
__construct(BlockDataProvider $blockDataProvider)
foreach( $_productCollection as $_product)() ?>" class $info