SAP Spartacus产品页面的normalizer

时间:2022-07-24
本文章向大家介绍SAP Spartacus产品页面的normalizer,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

新建一个product-name-normalizer.ts文件,源代码如下:

import { Injectable } from '@angular/core';
import { Converter, Occ, Product } from '@spartacus/core';

@Injectable()
export class ProductNameNormalizer implements Converter<Occ.Product, Product>{
    convert(source: Occ.Product, target?: Product): Product {
        if (!!source.name) {
            target.name = source.name.replace(/ /g, '--').toLocaleLowerCase();
        }
        return target;
    }
}

在module里,注入这个ProductNameNormalizer:

providers: [{
    provide: PRODUCT_NORMALIZER, useClass: ProductNameNormalizer,
    multi: true
  }
  ]

最后的产品明细页面,无论是url还是页面本身的product.name, 都已经被这个Normalizer处理过了: