Liferay中自帶了News的功能,可能是太高檔了,到現在我都不是很清楚那個(gè)News功能的具體作用。
項目中需要用到新聞列表,只需要顯示新聞標題,發(fā)布時(shí)間,有分頁(yè)功能,可以通過(guò)標題上的鏈接查看新聞詳細。
為了偷懶,就用Liferay的CMS中的Journal Articles即日志文章來(lái)實(shí)現。新聞可以通過(guò)CMS錄入,這樣我們在新增新聞的時(shí)候不僅可以指定新聞的類(lèi)型,而且還可以通過(guò)Journal Articles現有的功能來(lái)配置顯示的相關(guān)信息,同時(shí)還可以省掉新聞文章搜索的功能,方便不少哦。
好處很多,但是通常有一點(diǎn)達不到客戶(hù)的要求,可能就需要重新開(kāi)發(fā),實(shí)際情況是Liferay中的Journal Articles并不帶有分頁(yè)功能。如何讓他具備分頁(yè)的功能呢?查看SOURCE決定在其現有的功能上擴展,保留其自身的功能作簡(jiǎn)單的配置即可。
一、目標:在Liferay的“增加內容”列表的新聞菜單下增加一個(gè)“日志新聞”的Portlet
打開(kāi)liferay-display.xml文件,找到category.news的部分,新增一個(gè)id為
journal_news的portlet,以下是修改后的代碼xml 代碼
- <category name="category.news">
- <portlet id="4" />
- <portlet id="5" />
- <portlet id="39" />
- <portlet id="journal_news" />
- category>
上面的配置信息表示在種類(lèi)為
news的菜單下,有4個(gè)portlet可以供用戶(hù)選擇?,F在增加了一個(gè)id為journal_news的portlet,實(shí)際上那只是配置上的設定,journal_news并沒(méi)有實(shí)際存在。
二、打開(kāi)liferay-portlet-ext.xml文件,新增portlet的配置信息,新增后如下:
xml 代碼
- <portlet>
- <portlet-name>journal_newsportlet-name>
- <icon>/html/portlet/journal_articles/icon.pngicon>
- <struts-path>journal_articlesstruts-path>
- <configuration-action-class>com.liferay.portlet.journalarticles.action.ConfigurationActionImplconfiguration-action-class>
- <use-default-template>falseuse-default-template>
- <restore-current-view>falserestore-current-view>
- <instanceable>trueinstanceable>
- <private-request-attributes>falseprivate-request-attributes>
- <private-session-attributes>falseprivate-session-attributes>
- <render-weight>0render-weight>
- portlet>
可能有人看到了,上面的配置信息和journal_articles的配置幾乎完全相同,只是名稱(chēng)換了一下。既然要使用journal_articles現有的功能,最簡(jiǎn)單的當然是直接依葫蘆畫(huà)瓢。
三、打開(kāi)portlet-ext.xml文件,新增以下內容。
xml 代碼
- <portlet>
- <portlet-name>journal_newsportlet-name>
- <display-name>Journal_Newsdisplay-name>
- <portlet-class>com.liferay.portlet.StrutsPortletportlet-class>
- <init-param>
- <name>view-actionname>
- <value>/journal_articles/view_newsvalue>
- init-param>
- <expiration-cache>0expiration-cache>
- <supports>
- <mime-type>text/htmlmime-type>
- supports>
- <resource-bundle>com.liferay.portlet.StrutsResourceBundleresource-bundle>
- <security-role-ref>
- <role-name>power-userrole-name>
- security-role-ref>
- <security-role-ref>
- <role-name>userrole-name>
- security-role-ref>
- <portlet-info>
- <title>Journal Newstitle>
- portlet-info>
- portlet>
同樣也是小的變動(dòng),只是
view-action的value和title換掉了。其他的也還是和journal_articles一樣。
實(shí)際上我們要做的只是在表現的JSP看到的效果不一樣而已,重點(diǎn)要做的只是在JSP上。
四、struts-config-ext.xml和tiles-defs-ext.xml中增加
view-action的相關(guān)設定。
struts-config-ext.xml中增加以下部分:
xml 代碼
-
-
- <action path="/journal_articles/view_news" type="com.liferay.portlet.journalarticles.action.ViewAction">
- <forward name="portlet.journal_articles.view" path="portlet.journal_articles.view.news" />
- action>
tiles-defs-ext.xml增加以下部分:
xml 代碼
-
-
- <definition name="portlet.journal_articles.view.news" extends="portlet">
- <put name="portlet_content" value="/portlet/journal_articles/view_news.jsp" />
- definition>
僅僅只是表現的JSP不同,其他功能繼續沿用。
五、在${CATALINA_HOME}/WABAPPS/ROOT/HTML/portlet/journal_articles目錄下新增view_news.jsp,你也可以在開(kāi)發(fā)環(huán)境的相關(guān)目錄中新增該文件,然后通過(guò)ANT工具部署到這個(gè)這個(gè)目錄中去。
view_news.jsp參見(jiàn)本機D盤(pán)。。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。