如何在Websphere Commerce 7中的Java内部的WebSphere Commerce中构建Seo Urls

时间:2013-10-15 12:04:46

标签: websphere websphere-commerce

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

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

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

IBM是否提供了我尚未找到的辅助类?

由于

3 个答案:

答案 0 :(得分:2)

要创建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);

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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。

我们必须传递urlLangId,如果我们需要使用多种语言的URL,否则它总是会提取EN urlkeyword。

FYI - ProductURL是模式XML文件中的模式名称。