Skip to content

Commit 30c2c79

Browse files
committed
Fix trailing slash used a product & category URL suffix
Use ternary operators instead of if-else blocks
1 parent bddb74c commit 30c2c79

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -98,25 +98,22 @@ protected function doFindOneByData($data)
9898
$resultFromDb = current($resultsFromDb);
9999
$redirectTypes = [OptionProvider::TEMPORARY, OptionProvider::PERMANENT];
100100

101-
// If request path matches the DB value or it's redirect
102-
if ($resultFromDb[UrlRewrite::REQUEST_PATH] === $requestPath
103-
|| in_array((int)$resultFromDb[UrlRewrite::REDIRECT_TYPE], $redirectTypes, true)
104-
) {
105-
$result = $resultFromDb;
106-
} else {
107-
// Otherwise return 301 redirect to request path from DB results
108-
$result = [
109-
UrlRewrite::ENTITY_TYPE => 'custom',
110-
UrlRewrite::ENTITY_ID => '0',
111-
UrlRewrite::REQUEST_PATH => $requestPath,
112-
UrlRewrite::TARGET_PATH => $resultFromDb[UrlRewrite::REQUEST_PATH],
113-
UrlRewrite::REDIRECT_TYPE => OptionProvider::PERMANENT,
114-
UrlRewrite::STORE_ID => $resultFromDb[UrlRewrite::STORE_ID],
115-
UrlRewrite::DESCRIPTION => null,
116-
UrlRewrite::IS_AUTOGENERATED => '0',
117-
UrlRewrite::METADATA => null,
118-
];
119-
}
101+
// If request path matches the DB value or it's redirect - we can return result from DB
102+
$canReturnResultFromDb = ($resultFromDb[UrlRewrite::REQUEST_PATH] === $requestPath
103+
|| in_array((int)$resultFromDb[UrlRewrite::REDIRECT_TYPE], $redirectTypes, true));
104+
105+
// Otherwise return 301 redirect to request path from DB results
106+
$result = $canReturnResultFromDb ? $resultFromDb : [
107+
UrlRewrite::ENTITY_TYPE => 'custom',
108+
UrlRewrite::ENTITY_ID => '0',
109+
UrlRewrite::REQUEST_PATH => $requestPath,
110+
UrlRewrite::TARGET_PATH => $resultFromDb[UrlRewrite::REQUEST_PATH],
111+
UrlRewrite::REDIRECT_TYPE => OptionProvider::PERMANENT,
112+
UrlRewrite::STORE_ID => $resultFromDb[UrlRewrite::STORE_ID],
113+
UrlRewrite::DESCRIPTION => null,
114+
UrlRewrite::IS_AUTOGENERATED => '0',
115+
UrlRewrite::METADATA => null,
116+
];
120117
} else {
121118
// If we have 2 results - return the row that matches request path
122119
foreach ($resultsFromDb as $resultFromDb) {

0 commit comments

Comments
 (0)