function getAllBreadcrumbs()

in process_api/cartridges/app_storefront_custom/cartridge/scripts/helpers/productHelpers.js [312:345]


function getAllBreadcrumbs(cgid, pid, breadcrumbs) {
    var CatalogMgr = require('dw/catalog/CatalogMgr');
    var ProductMgr = require('dw/catalog/ProductMgr');
    var category;
    var product;

    if (pid) {
        product = ProductMgr.getProduct(pid);
        category = product.variant
            ? product.masterProduct.primaryCategory
            : product.primaryCategory;

        breadcrumbs.push({
            htmlValue: product.getName(),
            pid: pid
        });
    } else if (cgid) {
        category = CatalogMgr.getCategory(cgid);
    }

    if (category) {
        breadcrumbs.push({
            htmlValue: category.displayName,
            cgid: category.ID,
            isPLP: !!category.custom.isPLP
        });

        if (category.parent && category.parent.ID !== 'root') {
            return getAllBreadcrumbs(category.parent.ID, null, breadcrumbs);
        }
    }

    return breadcrumbs;
}