Skip to content

Commit 462caa7

Browse files
Implemented loading by identifier not ID in menu
1 parent aa4ee95 commit 462caa7

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

src/Model/Resolver/Menu.php

+16-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
declare(strict_types=1);
1111

12-
namespace ScandiPWA\MenuOrganizer\Model\Resolver;
12+
namespace Technodom\MenuOrganizer\Model\Resolver;
1313

1414
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
1515
use Magento\Framework\GraphQl\Config\Element\Field;
@@ -23,7 +23,8 @@
2323

2424
/**
2525
* Class Menu
26-
* @package Scandiweb\MenumanagerGraphQl\Model\Resolver
26+
*
27+
* @package Technodom\MenumanagerGraphQl\Model\Resolver
2728
*/
2829
class Menu implements ResolverInterface
2930
{
@@ -67,12 +68,15 @@ public function __construct(
6768
}
6869

6970
/**
71+
* Menu organizer resolver (lines concerning menu id are changed from core scandipwa menumanager)
72+
*
7073
* @param Field $field
71-
* @param $context
74+
* @param \Magento\Framework\GraphQl\Query\Resolver\ContextInterface $context
7275
* @param ResolveInfo $info
7376
* @param array|null $value
7477
* @param array|null $args
7578
* @return Value
79+
* @throws \Magento\Framework\Exception\NoSuchEntityException
7680
*/
7781
public function resolve(
7882
Field $field,
@@ -85,13 +89,18 @@ public function resolve(
8589
return null;
8690
};
8791

88-
if (isset($args['id'])) {
92+
if (isset($args['identifier'])) {
8993
$menu = $this->menuCollectionFactory->create();
90-
$menu->addFieldToFilter('menu_id', $args['id'])->load();
94+
95+
/** Updated with identifier filtering */
96+
$menu->addFieldToFilter('identifier', $args['identifier'])->load();
97+
9198
$menuData = $menu->getFirstItem()->getData();
9299

93100
$items = $this->itemCollectionFactory->create();
94-
$items->addMenuFilter($args['id'])
101+
102+
/** Updated with menu id taken from menu data */
103+
$items->addMenuFilter($menuData['menu_id'])
95104
->addStatusFilter()
96105
->setParentIdOrder()
97106
->setPositionOrder();
@@ -114,5 +123,4 @@ public function resolve(
114123

115124
return $this->valueFactory->create($result);
116125
}
117-
118-
}
126+
}

src/etc/schema.graphqls

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#*/
99

1010
type Query {
11-
scandiwebMenu(id: ID!): Menu @resolver(class: "ScandiPWA\\MenuOrganizer\\Model\\Resolver\\Menu") @doc(description: "Returns Scandiweb Menu Manager menu data")
11+
scandiwebMenu(identifier: String!): Menu @resolver(class: "ScandiPWA\\MenuOrganizer\\Model\\Resolver\\Menu") @doc(description: "Returns Scandiweb Menu Manager menu data")
1212
}
1313

1414
type Menu @doc(description: ""){

0 commit comments

Comments
 (0)