Конфигурация маршрутизатора для маршрутов продукта определяется параметрами c ULR и динамическим содержимым c, формирующим модель продукта. По умолчанию код продукта и имя используются в конфигурации маршрута для построения 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;
}
}
Нормализатор может быть предоставлен в Angular, используя DI. https://github.com/tobi-or-not-tobi/spartacus-bootcamp/blob/master/src/app/features/routing/product-routes.module.ts показывает вам пример.
Шаг 2: настройте конфигурацию маршрутизатора для использования prettyName
в качестве параметра маршрута. Пример этого вы видите в вышеупомянутой ссылке.
Фактическое сопоставление зависит от проекта. Спартак не имеет стандартного отображения в настоящее время.