在 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 来编辑那个属性,你可以写一个钩子。
这里是一个简短的总结如何写这样一个钩子:
将此行添加到您的 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>
在 Java 源目录中创建文件 portal.properties
并添加此行:
journal.article.form.update = urlTitle
在 Java 源目录中创建文件 Language.properties
并添加此行:
urlTitle = Friendly URL
将文件 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" />
我目前在 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 来编辑那个属性,你可以写一个钩子。
这里是一个简短的总结如何写这样一个钩子:
将此行添加到您的
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>
在 Java 源目录中创建文件
portal.properties
并添加此行:journal.article.form.update = urlTitle
在 Java 源目录中创建文件
Language.properties
并添加此行:urlTitle = Friendly URL
将文件
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" />