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 を使用.htmlしてに追加できます。urlTitle

またはModelListener、BlogsEntry フックが存在する場合は、&メソッドurlTitleを使用してブログを更新することもできます。onCreateonUpdate

編集

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 に答える