在 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)
        );
    }
},