在 Liferay 中更改网页内容的友好 URL

Change the friendly URL of a web content in Liferay

我目前在 Liferay 6.2 中使用文章显示页面来显示我的网页内容。我想弄清楚如何在 /-/ 之后编辑我的友好 URL 的路径。

当前 URL:siteName/-/articleName

期望URL:siteName/-/topicSection/articleName

您正在谈论属性 JournalArticle.urlTitle。问题是,Liferay 中没有 UI,它可以让您更改该属性(至少不是开箱即用)。

您有两个选择:

  • 如果你只是想改变现有的文章,你可以改变数据库中的那个属性(我猜额外的/没问题):

    UPDATE JournalArticle 
        SET urlTitle = 'topicSection/articleName' 
        WHERE urlTitle = 'articleName'
    
  • 如果你想提供一个 UI 来编辑那个属性,你可以写一个钩子。

这里是一个简短的总结如何写这样一个钩子:

  1. 将此行添加到您的 liferay-hook.xml:

    <portal-properties>portal.properties</portal-properties>
    <language-properties>Language.properties</language-properties> 
    <custom-jsp-dir>/WEB-INF/custom_jsps</custom-jsp-dir> 
    
  2. 在 Java 源目录中创建文件 portal.properties 并添加此行:

    journal.article.form.update = urlTitle
    
  3. 在 Java 源目录中创建文件 Language.properties 并添加此行:

    urlTitle = Friendly URL
    
  4. 将文件 WEB-INF/custom_jsps/html/portlet/journal/article/urlTitle.jsp 添加到 Web 内容文件夹中:

    <%@ include file="/html/portlet/journal/init.jsp" %>
    <% JournalArticle article = (JournalArticle)request.getAttribute(WebKeys.JOURNAL_ARTICLE); %>
    <aui:model-context bean="<%= article %>" model="<%= JournalArticle.class %>" />
    
    <h3>Friendly URL</h3>
    
    <aui:input name="urlTitle" />