2016-09-28 94 views
2

我正在使用文章显示页面来显示我的网页内容Liferay 6.2。我试图找出如何在/-/之后编辑我友好的URL的路径。更改Liferay中网页内容的友好URL

当前网址:siteName/-/articleName

所需的URL:siteName/-/topicSection/articleName

回答

2

你所谈论的属性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" /> 
    
+2

我不能相信这答案没有任何upvote或评论。这个棒极了!!最后是一个很好解释的更改网页内容网址标题的方法。我使用“更新数据库”丑陋模式,但现在我用你的钩子终于能够修改网址标题。最后,我可以通过复制他人或使用稍后可以更改的愚蠢标题来创建网页内容,并更改其网址标题。没有人想要这些东西,或者每个人都放弃了,转移到liferay 7左右? –

+0

4中的小错字你需要关闭这个JSP标记<%JournalArticle ... – Endre

+0

修复 - 谢谢你的评论 –