2

我的问题是我想在我的每篇博文中添加“.html”扩展名。例如,现在我有一个博客文章 url ' http://www.indu.com/blog/-/blogs/creating-a-custom-portlet-in-liferay ',而我想要的是' http://www .indu.com/blog/-/blogs/creating-a-custom-portlet-in-liferay.html '

如果有人可以提供帮助,我将不胜感激?

4

1 回答 1

3

我想知道你为什么要这个。

无论如何,我认为您可以更改urlTitle字段BlogsEntry并附.html加到字符串。可以使用 service-wrapper-hook 来附加.htmlurlTitle任何时候创建或更新博客。

或者,您甚至可以使用 a ModelListenerif it exists for BlogsEntry 钩子urlTitle通过使用onCreate&onUpdate方法来更新博客。

编辑

urlTitle字段存在于BlogsEntry表中。

您可以使用以下方法在 java 中访问它:

BlogsEntry blog = BlogsEntryLocalServiceUtil.getBlogsEntry(90989); // retrieves the blog-entry

String blogUrlTitle = blog.getUrlTitle(); 

blog.setUrlTitle(blogUrlTitle + ".html"); // this would set the string

您可以检查一下,blogUrlTitle以免重复.html附加到字符串:

if (!blogUrlTitle.contains(".html")) { // append only if the title does not contain `.html`
    blog.setUrlTitle(blogUrlTitle + ".html");
}

您可以根据需要改进代码,以上只是一个指导方针。

作为旁注,我总是会尝试与客户推理他们为什么想要某样东西,这不仅有助于抵御糟糕的更改请求,还有助于为客户提供替代方案(这对像我们这样的开发人员;-) )。在大多数情况下,这有助于更好地了解客户的业务并提供更好的回报。

于 2013-02-14T15:57:17.880 回答