Spartacus 中可配置 URL 支持的字符

Supported characters for Configurable URLs in Spartacus

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

Note: Some customers have product titles with special characters that will not work (for example, having a slash in the code or title). This might require special treatment of the attributes before or after they are used in the URL. Note that Spartacus does not include functionality for handling special characters.

产品路线的路由器配置由静态 ULR 部件和产品模型的动态内容驱动。默认情况下,产品代码和名称用于路由配置,以构建 URL。但是,您可以自定义所谓的路由参数。当您在 URL.

中需要一个漂亮的产品名称时,这是一种常见的做法

第一步: 通过将产品名称映射到 "pretty name" 来规范化产品模型。您可以通过实施规范化器来做到这一点:

@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;
  }
}

标准化器可以在 Angular 中使用 DI 提供。 https://github.com/tobi-or-not-tobi/spartacus-bootcamp/blob/master/src/app/features/routing/product-routes.module.ts 给你举个例子。

第 2 步: 配置路由器配置以使用 prettyName 作为路由参数。您在前面提到的 link 中看到了一个例子。

实际映射取决于项目。斯巴达克斯目前没有标准映射。