0

我目前有一个 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。(两者都可以)。

谢谢你。

4

1 回答 1

0

The proper update, after much trial and error:

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)
        );
    }
},
于 2018-11-11T22:40:50.150 回答