2013年10月23日 星期三

[筆記]Liferay 中使用aui:input type="checkbox"時,取不到正確的值的狀況

<Qusetion>
<aui:input type="checkbox" name="name" value="123">
<aui:input type="checkbox" name="name" value="456">
<aui:input type="checkbox" name="name" value="789">

這時候如果在後端使用一般的  request.getParameterValues("name");
不管客戶端是否有勾選Checkbox
取得的結果都會是這樣的陣列{ 123,456,789}
該怎麼解決?

 <answer>
解決方法是使用
 request.getParameterValues("nameCheckbox");
因為<aui:input> tag會在你的Checkbox的name上
幫你做name+Checkbox做為name的屬性,以作為與一般input tag的區別

當然若你想使用javascript來取值也是一樣的道理
所以javascript就要變成
 <script>
document.getElementsbyName("<portlet:namespace/>nameCheckbox")[0].value;
 </script>

被這個問題搞了兩天煩都煩死了XDrz

2013年10月2日 星期三

Liferay自訂portal的configuration畫面



有時候會要在頁面上做一些參數的控制

這時候需要利用到Portal本身的控制面板




但是原本右上角的控制面板功能可能不是你要的

(大部分都是權限控管,如果是多媒體Portal則可能是控制填入的檔案類型之類的)







這時候我們可以自訂自己的configuration


Liferay環境建立

基本的JAVA Machine跟環境都安裝完畢後

前往sourceforge下載
Liferay IDE
Liferay tomcat
Liferay sdk plugin

另外下載Tomcat Plugin v33

將Tomcat Plugin V33丟進Eclipse的plugin資料夾
這樣就可以在Eclipse中設定Tomcat

接下來
打開 Liferay IDE的 Eclipse,打開Preference
選擇Tomcat
將Tomcat的設定設為7.X,路徑指向liferay Tomcat解壓縮後的路徑
(例如:X:\liferay-portal-6.1.2-ce-ga3)
路徑正確下方的Context directory會自動帶入環境設定


接下來點選Liferay
會看到3個超連結
第一項點選後,按下add,選擇你Liferay sdk plugin的位置
下方Open in Eclipse設為在Ecllpse中開啟

第二項因為剛剛選Tomcat7.X,所以選擇7.X版的Liferay CE6.1版本

接下來Show View開啟  Server的視窗就可以新增LifeRay的Tomcat伺服器了。

若要使用自己的資料庫
必須在\tomcat-7.0.40\webapps\ROOT\WEB-INF\classes
這個資料夾下面
新增一個名為portal-ext.properties的檔案
以使用MySQL為範例
輸入如下的內容
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/testportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=1234

這樣就可以連結自己的資料庫了
當然localhost後面的資料庫名稱要使用自己的資料庫名稱