在 isCategoryPage 方法中检测类别页面
Detecting a category page in the isCategoryPage method
我目前有一个 SCA 网站,该网站的子类别需要显示为类别页面,而不是产品列表页面。 (即显示类别,而不是产品)。
目前,我已经修改了 isCategoryPage 以覆盖 Facets.Views.isCategoryPage,这样它就可以正确执行此操作。但是,在网站上进行搜索时 - 它会用空白页打破该页面。
我目前无法弄清楚如何检测我是否在搜索页面而不是类别页面上。
代码是这样的:
...
// @Overrides Facets.Views.isCategoryPage
isCategoryPage: function isCategoryPage(translator) {
var currentFacets = translator.getAllFacets();
var categories = translator.getCategoryPath();
if (<--IsSearchPage() === true --->) {
return (_.keys(categories[categories.length-1].categories).length !== 0);
} else {
return (currentFacets.length === 1 &&
currentFacets[0].id === 'category' &&
categories &&
CategoryHelper.showCategoryPage(categories)
);
}
},
...
如您所见,if 语句是我需要一点帮助的地方。
if (<--IsSearchPage() === true --->) {
用什么方法、函数、代码检测该页面是否为搜索页面。或者如果页面 url 在 url 中有 /search。 (都可以)。
谢谢。
正确的更新,经过反复试验:
isCategoryPage: function isCategoryPage(translator) {
var currentFacets = translator.getAllFacets();
var categories = translator.getCategoryPath();
if (categories) {
return (_.keys(categories[categories.length-1].categories).length !== 0);
} else {
return (currentFacets.length === 1 &&
currentFacets[0].id === 'category' &&
categories &&
CategoryHelper.showCategoryPage(categories)
);
}
},
我目前有一个 SCA 网站,该网站的子类别需要显示为类别页面,而不是产品列表页面。 (即显示类别,而不是产品)。
目前,我已经修改了 isCategoryPage 以覆盖 Facets.Views.isCategoryPage,这样它就可以正确执行此操作。但是,在网站上进行搜索时 - 它会用空白页打破该页面。
我目前无法弄清楚如何检测我是否在搜索页面而不是类别页面上。
代码是这样的:
...
// @Overrides Facets.Views.isCategoryPage
isCategoryPage: function isCategoryPage(translator) {
var currentFacets = translator.getAllFacets();
var categories = translator.getCategoryPath();
if (<--IsSearchPage() === true --->) {
return (_.keys(categories[categories.length-1].categories).length !== 0);
} else {
return (currentFacets.length === 1 &&
currentFacets[0].id === 'category' &&
categories &&
CategoryHelper.showCategoryPage(categories)
);
}
},
...
如您所见,if 语句是我需要一点帮助的地方。
if (<--IsSearchPage() === true --->) {
用什么方法、函数、代码检测该页面是否为搜索页面。或者如果页面 url 在 url 中有 /search。 (都可以)。
谢谢。
正确的更新,经过反复试验:
isCategoryPage: function isCategoryPage(translator) {
var currentFacets = translator.getAllFacets();
var categories = translator.getCategoryPath();
if (categories) {
return (_.keys(categories[categories.length-1].categories).length !== 0);
} else {
return (currentFacets.length === 1 &&
currentFacets[0].id === 'category' &&
categories &&
CategoryHelper.showCategoryPage(categories)
);
}
},