Menampilkan Gambar di Theme dan Custom Portlet Liferay

Bagi yang sudah terbiasa membangun website PHP, Java atau sekedar HTML postingan ini pasti terasa sepele dan kurang berbobot, namun pendapat itu akan berbalik 180o ketika yang membaca ini sedang riset dan belajar lebih banyak tentang Liferay Portal.

Membangun sebuah website menggunakan Liferay menurut saya termasuk cukup sulit, memahami konsep dari semua bagiannya dan menyusun bagian-bagian tersebut sehingga dapat terbentuk sebuah website yang sesuai keinginan, ada namanya Portlet, Hook, Service Builder, Theme / Template dan sebagainya. Lebih membuat kesulitan lagi referensi yang tersedia belum begitu banyak. Continue reading

Check If User Already Login in Liferay

Ada beberapa metode / cara untuk mengecek apakah user dalam posisi login (signed in) atau belum di Liferay Portal. Bisa melalui JSP, VM File (Template / Theme), Java, Web Content Template dan Javascript, berikut detail dari masing-masing metode diatas untuk melakukan pengecekan apakah user Liferay Portal sudah login atau belum.

VM File (Template / Theme Code)
[code language=”html”]
#if (!$is_signed_in)
SUDAH LOGIN
#else
BELUM LOGIN
#end[/code]

JSP File (Portlet)
[code language=”html”]
<!– Import Object From Theme –>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects />

<!– Sample –>
<%
String kgScreenName = "";
if (themeDisplay.isSignedIn()) {
kgScreenName = UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)).getScreenName();
}
%>

<div><%=kgScreenName%></div>
[/code]

Java
[code language=”java”]
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
boolean signedIn = themeDisplay.isSignedIn();
[/code]
kemudian kalian bisa manfaatkan variabel signedIn diatas untuk keperluan file jsp di portlet yang kalian punya dengan cara berikut :
[code language=”html”]
<% String signedIn = (String) request.getAttribute("signedIn"); %>
[/code]

Web Content Template
[code language=”html”]
#set ($isSignedIn = $request.get("remote-user"))
#if ($isSignedIn!=”)
#else
#end
[/code]

Javascript
[code language=”javascript”]
$(document).ready(function(){
if((Liferay.ThemeDisplay.isSignedIn())){
alert(‘Sudah Login’);
}
});
[/code]

Semoga bermanfaat 🙂