Skip to content

Commit 002d4b4

Browse files
committed
Fix for using non-ascii category name as a link in top_menu
1 parent f198c81 commit 002d4b4

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

app/assets/javascripts/discourse/models/nav_item.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,23 @@ Discourse.NavItem = Discourse.Model.extend({
2020
return split[0] === 'category' ? split[1] : null;
2121
}.property('name'),
2222

23+
categorySlug: function() {
24+
var split = this.get('name').split('/');
25+
if (split[0] === 'category' && split[1]) {
26+
var cat = Discourse.Site.instance().categories.findProperty('name', split[1]);
27+
return cat ? Discourse.Category.slugFor(cat) : null;
28+
}
29+
return null;
30+
}.property('name'),
31+
2332
// href from this item
2433
href: function() {
25-
var name = this.get('name'),
26-
href = Discourse.getURL("/") + name.replace(' ', '-');
27-
if (name === 'category') href += "/" + this.get('categoryName');
28-
return href;
34+
var name = this.get('name');
35+
if( name.split('/')[0] === 'category' ) {
36+
return Discourse.getURL("/") + 'category/' + this.get('categorySlug');
37+
} else {
38+
return Discourse.getURL("/") + name.replace(' ', '-');
39+
}
2940
}.property('name'),
3041

3142
count: function() {

0 commit comments

Comments
 (0)