File tree Expand file tree Collapse file tree 2 files changed +7
-2
lines changed
app/code/Magento/UrlRewriteGraphQl/Model/Resolver
dev/tests/api-functional/testsuite/Magento/GraphQl/CmsUrlRewrite Expand file tree Collapse file tree 2 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -65,7 +65,8 @@ public function resolve(
65
65
$ storeId = (int )$ context ->getExtensionAttributes ()->getStore ()->getId ();
66
66
$ result = null ;
67
67
// phpcs:ignore Magento2.Functions.DiscouragedFunction
68
- $ url = parse_url ($ args ['url ' ], PHP_URL_PATH );
68
+ $ urlParts = parse_url ($ args ['url ' ]);
69
+ $ url = $ urlParts ['path ' ] ?? $ args ['url ' ];
69
70
if (substr ($ url , 0 , 1 ) === '/ ' && $ url !== '/ ' ) {
70
71
$ url = ltrim ($ url , '/ ' );
71
72
}
@@ -82,6 +83,9 @@ public function resolve(
82
83
'redirectCode ' => $ this ->redirectType ,
83
84
'type ' => $ this ->sanitizeType ($ finalUrlRewrite ->getEntityType ())
84
85
];
86
+ if (!empty ($ urlParts ['query ' ])) {
87
+ $ resultArray ['relative_url ' ] .= '? ' . $ urlParts ['query ' ];
88
+ }
85
89
86
90
if (empty ($ resultArray ['id ' ])) {
87
91
throw new GraphQlNoSuchEntityException (
Original file line number Diff line number Diff line change @@ -70,8 +70,9 @@ public function testResolveCMSPageWithQueryParameters()
70
70
$ page ->load ('page100 ' );
71
71
$ cmsPageId = $ page ->getId ();
72
72
$ requestPath = $ page ->getIdentifier ();
73
+ $ requestPath .= '?key=value ' ;
73
74
74
- $ query = $ this ->createQuery ($ requestPath . ' ?key=value ' );
75
+ $ query = $ this ->createQuery ($ requestPath );
75
76
$ response = $ this ->graphQlQuery ($ query );
76
77
$ this ->assertNotEmpty ($ response ['urlResolver ' ]);
77
78
$ this ->assertEquals ($ cmsPageId , $ response ['urlResolver ' ]['id ' ]);
You can’t perform that action at this time.
0 commit comments