有人知道如何在可配置URL(特别是第二注)部分中查看Spartacus处理的受支持字符吗?
注意:一些客户的产品标题带有特殊字符,这些字符将不起作用(例如,代码或标题中带有斜线)。这可能需要在URL中使用属性之前或之后对属性进行特殊处理。请注意,Spartacus不包含用于处理特殊字符的功能。
答案 0 :(得分:0)
产品路线的路由器配置由静态ULR零件驱动,而动态内容构成产品模型。默认情况下,在路由配置中使用产品代码和名称来构建URL。但是,您可以自定义所谓的路由参数。当您在URL中需要漂亮的产品名称时,这是很常见的事情。
步骤1: 通过将产品名称映射到“漂亮名称”来规范产品模型。您可以通过实现规范化器来实现:
@Injectable({
providedIn: 'root',
})
export class ProductPrettyNameNormalizer
implements Converter<Occ.Product, Product> {
convert(source: Occ.Product, target?: any): Product {
target.prettyName = source.name.replace(/ /g, '-');
return target;
}
}
可以使用DI在Angular中提供规范化器。 https://github.com/tobi-or-not-tobi/spartacus-bootcamp/blob/master/src/app/features/routing/product-routes.module.ts展示了一个示例。
步骤2:
将路由器配置配置为使用prettyName
作为路由参数。您可以在上述链接中看到一个示例。
实际映射取决于项目。到目前为止,Spartacus还没有标准映射。