1

有谁知道如何在可配置 URL 部分(尤其是第二个注释)中查看 Spartacus 处理的支持字符?

注意:某些客户的产品标题带有无法使用的特殊字符(例如,代码或标题中有斜线)。这可能需要在 URL 中使用属性之前或之后对属性进行特殊处理。请注意,Spartacus 不包含处理特殊字符的功能。

4

1 回答 1

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 目前还没有标准映射。

于 2020-02-25T14:36:41.030 回答