Skip to content

Commit d41ce33

Browse files
author
Stanislav Idolov
authored
ENGCOM-1444: Prevent double home links in breadcrumbs at product page #14994
2 parents a8de6b3 + cd411ee commit d41ce33

File tree

4 files changed

+15
-2
lines changed

4 files changed

+15
-2
lines changed

app/code/Magento/Catalog/Plugin/Block/Topmenu.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ private function getCategoryAsArray($category, $currentCategory, $isParentActive
162162
'url' => $this->catalogCategory->getCategoryUrl($category),
163163
'has_active' => in_array((string)$category->getId(), explode('/', $currentCategory->getPath()), true),
164164
'is_active' => $category->getId() == $currentCategory->getId(),
165+
'is_category' => true,
165166
'is_parent_active' => $isParentActive
166167
];
167168
}

app/code/Magento/Catalog/view/frontend/web/js/product/breadcrumbs.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ define([
1616
categoryUrlSuffix: '',
1717
useCategoryPathInUrl: false,
1818
product: '',
19+
categoryItemSelector: '.category-item',
1920
menuContainer: '[data-action="navigation"] > ul'
2021
},
2122

@@ -142,7 +143,10 @@ define([
142143
categoryMenuItem = null;
143144

144145
if (categoryUrl && menu.length) {
145-
categoryMenuItem = menu.find('a[href="' + categoryUrl + '"]');
146+
categoryMenuItem = menu.find(
147+
this.options.categoryItemSelector +
148+
' > a[href="' + categoryUrl + '"]'
149+
);
146150
}
147151

148152
return categoryMenuItem;

app/code/Magento/Theme/Block/Html/Topmenu.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,10 @@ protected function _getMenuItemClasses(\Magento\Framework\Data\Tree\Node $item)
309309
$classes[] = 'level' . $item->getLevel();
310310
$classes[] = $item->getPositionClass();
311311

312+
if ($item->getIsCategory()) {
313+
$classes[] = 'category-item';
314+
}
315+
312316
if ($item->getIsFirst()) {
313317
$classes[] = 'first';
314318
}

dev/tests/js/jasmine/tests/app/code/Magento/Catalog/frontend/js/product/breadcrumbs.test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ define([
1919
},
2020
defaultContext = require.s.contexts._,
2121
menuSelector = '[data-action="navigation"] > ul',
22-
menuItem = $('<li class="level0"><a href="http://localhost.com/cat1.html">Cat1</a></li>')[0],
22+
menuItem = $(
23+
'<li class="level0 category-item">' +
24+
'<a href="http://localhost.com/cat1.html" id="ui-id-3">Cat1</a>' +
25+
'</li>'
26+
)[0],
2327

2428
/**
2529
* Create context object.

0 commit comments

Comments
 (0)