Добавление расширения к страницам записей в блоге на 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 2

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");
}

Вы можете уточнить свой код, как вам нравится, выше это просто руководство.

В качестве побочного замечания, я бы всегда пытался объяснить клиенту, почему он чего-то хочет, это помогает не только отбиваться от плохих запросов на изменение, но и помогает дать альтернативу клиенту (что менее обременительно для разработчиков как и мы ;-) ). В большинстве случаев это помогает лучше понять бизнес клиента и обеспечить лучшую отдачу.