我正在尝试将元描述添加到 Spartacus 6.5 中的 PDP 页面。 我将从 ProductPageMetaResolver 扩展的解析器添加到我的自定义 Product.module 中的提供程序中。 但是,我的方法“resolveDescription”未被调用。我错过了什么吗?
这是我的代码:
@Injectable({
providedIn: 'root'
})
export class MyProductPageMetaResolverService extends ProductPageMetaResolver {
resolveDescription(): Observable<string> {
alert("test")
return this.product$.pipe(
switchMap((product) =>
this.translation.translate('pageMetaResolver.product.description', {
description: "Test Description"
}))
)}}
在product.module中:
providers: [
{
provide: PageMetaResolver,
useExisting: MyProductPageMetaResolverService,
multi: true
},
...
...
...
我相信您需要在 MetaResolver 中提供 classAttributes pageType 和 pageTemplate 才能计算元解析器的优先级。所以像这样添加它们:
@Injectable({
providedIn: 'root'
})
export class MyProductPageMetaResolverService extends ProductPageMetaResolver {
pageType = PageType.PRODUCT_PAGE;
pageTemplate = 'MyProductPageTemplate';
...
}