0

有没有一种简单的方法可以在 WebSphere Commerce 7(功能包 6)中的 Java 类中构建对 seo 友好的 url。

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

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

IBM 是否提供我还没有找到的帮助程序类?

谢谢

4

3 回答 3

2

要创建 SEO URL,您可以使用 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);
于 2013-10-21T14:06:32.490 回答
0

Actually all these SEO URLs are created by a JAVA class only (internally). You need to check your wc-server.xml where you define the SEOConfiguration.

There must be a URLMapper class associated with the configuration. By default it's SEOURLMapper. Check its methods constructSEOURL and deconstructSEOURL.

于 2015-01-14T14:28:26.253 回答
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 -> 语言 ID 的产品 URL。

我们必须传递 urlLangId,如果我们需要有多种语言的 URL,否则它总是会选择 EN urlkeyword。

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

于 2016-11-18T11:05:31.280 回答