如何在 WebSphere Commerce 中构建 WebSphere Commerce 中的 Seo Urls 在



有没有一种简单的方法可以在 WebSphere Commerce 7(Feature Pack 6)中的 Java 类中构建 SEO 友好的 URL。

在 JSP 文件中,您可以使用提供的标签,但是是否有一种简单的方法可以在 Java 方法中构建 seo URL。

我在自己的帮助程序类中重建了标签方法,但这似乎有点过头了,可能包含很多错误。

IBM 是否提供了我尚未找到的帮助程序类?

谢谢

要创建SEO网址,您可以使用SEOURLMapper。例:

String patternName = "CanonicalItemURL";
TypedProperty properties = new TypedProperty();
properties.put("storeId", storeId);
properties.put("langId", languageId);
properties.put("catalogId", catalogId);
SEOURLMapper mapperInstance = SEOConfigurationRegistry.singleton().getMapperInstance();
String seoUrl = mapperInstance.constructDynamicURLByPatternName(patternName, properties, null);

实际上,所有这些SEOURL都是由JAVA类(内部)创建的。您需要检查定义SEOConfigurationwc-server.xml

必须有一个与配置关联的 URLMapper 类。默认情况下,它是 SEOURLMapper .检查其方法 constructSEOURLdeconstructSEOURL .

TypedProperty urlProperties = new TypedProperty();
urlProperties.put("storeId", storeId);
urlProperties.put("catalogId", catalogId);
urlProperties.put("langId", languageId);
urlProperties.put("urlLangId", languageId);
urlProperties.put("productId", productId);
SEOURLMapper mapper = SEOConfigurationRegistry.singleton().getMapperInstance();
url = mapper.constructSEOURLByPatternName("ProductURL", urlProperties, null, null, null);

上面的代码将帮助您为语言 ID -> languageId 生成产品 URL。

我们必须传递urlLangId,如果我们需要多种语言的URL,否则它将始终选择EN url关键字。

仅供参考 - 产品 URL 是模式 XML 文件中的模式名称。

最新更新