Добавление расширения к страницам записей в блоге на liferay
Моя проблема в том, что я хочу добавить '.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'
Я был бы признателен, если кто-нибудь может помочь?
1 ответ:
Интересно, почему вы хотите этого.
В любом случае, я думаю, что вы можете изменить полеurlTitle
BlogsEntry
и добавить.html
к строке. Можно использовать сервис-оболочку-крюк для добавления.html
кurlTitle
всякий раз, когда блог создается или обновляется.Или вы даже можете использовать
ModelListener
, если он существует для blogsentry крюк для обновления блогаurlTitle
с помощьюonCreate
&onUpdate
методы.Edit
Поле
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"); }
Вы можете уточнить свой код, как вам нравится, выше это просто руководство.
В качестве побочного замечания, я бы всегда пытался объяснить клиенту, почему он чего-то хочет, это помогает не только отбиваться от плохих запросов на изменение, но и помогает дать альтернативу клиенту (что менее обременительно для разработчиков как и мы ;-) ). В большинстве случаев это помогает лучше понять бизнес клиента и обеспечить лучшую отдачу.