Foren

Problema cuando elimino el borde de un portlet

thumbnail
Ruben Aguilera, geändert vor 14 Jahren.

Problema cuando elimino el borde de un portlet

Junior Member Beiträge: 47 Beitrittsdatum: 25.02.09 Neueste Beiträge
Hola,

Tengo cierta lógica en la plantilla portlet.vm (que es la que pienso que Liferay utiliza para pintar el contenido de los portlets) que me funciona sólo cuando el portlet tiene borde.

Este es el código:


#set ($portlet_display = $portletDisplay)

#set ($portlet_id = $portlet_display.getId())
#set ($portlet_title = $portlet_display.getTitle())
#set ($portlet_content = $portlet_display.getContent())
#set ($portlet_back_url = $portlet_display.getURLBack())

#set($layoutPK = $themeDisplay.getLayout().getPrimaryKey())

[b]#if ($themeDisplay.getUser().getFirstName() == "")
	#if ($portlet_id == 58)[/b]
		 <div class="portlet" id="portlet-wrapper-$portlet_id">
			<div class="portlet-topper">
				<span class="portlet-title">
					$theme.iconPortlet() $portlet_title
				</span>
		
				<div class="portlet-icons" id="portlet-small-icon-bar_$portlet_id">
					#if ($portlet_display.isShowBackIcon())
						<a href="$portlet_back_url" class="portlet-icon-back">#language ("return-to-full-page")</a>
					#else
						$theme.iconOptions()
						$theme.iconMinimize()
						$theme.iconMaximize()
						$theme.iconClose()
					#end
				</div>
			</div>
			
			<div class="portlet-content">
				[b]#if ($themeDisplay.getUser().getFirstName() == "")
			 		#if ($portlet_id == 58)[/b]
						$portlet_content
					[b]#end
				#else[/b]
					$portlet_content	
				[b]#end[/b]
			</div>
		</div>
[b]	#end
#else[/b]
	<div class="portlet" id="portlet-wrapper-$portlet_id">
		<div class="portlet-topper">
			<span class="portlet-title">
				$theme.iconPortlet() $portlet_title
			</span>
	
			<div class="portlet-icons" id="portlet-small-icon-bar_$portlet_id">
				#if ($portlet_display.isShowBackIcon())
					<a href="$portlet_back_url" class="portlet-icon-back">#language ("return-to-full-page")</a>
				#else
					$theme.iconOptions()
					$theme.iconMinimize()
					$theme.iconMaximize()
					$theme.iconClose()
				#end
			</div>
		</div>
		
		<div class="portlet-content">
			[b]#if ($themeDisplay.getUser().getFirstName() == "")
		 		#if ($portlet_id == 58)[/b]
					$portlet_content
				[b]#end
			#else[/b]
				$portlet_content	
			[b]#end[/b]
		</div>
	</div>
	
#end


Esto lo hago para que no me saque el portlet que hay en la página por defecto hasta que el usuario no este logado, pero si me tiene que mostrar el portlet 58 (login) para poder logarse.

El caso es que si el portlet de esta página tiene borde la lógica se cumple y funciona correctamente. Ahora me pregunto si cuando se elimina el borde de un portlet se utiliza otra plantilla distinta a portlet.vm????

También he probado ha implementar la lógica en portal_normal.vm pero el problema es que desde esta plantilla no tengo acceso a la variable portlet_id.

Alguien me puede orientar???

Saludos.

P.D. Por si sirve de algo, la versión que estoy usando de Liferay es la 5.2.2
Eudaldo Alonso, geändert vor 14 Jahren.

RE: Problema cuando elimino el borde de un portlet

Junior Member Beiträge: 50 Beitrittsdatum: 07.05.09 Neueste Beiträge
Buenas,

Si lo que quieres es quitar el borde de todos los portles lo puedes hacer mediante estilos CSS (cosa que a mi no me ha dado ningún tipo de problema) o si no también tienes la opción de modificar el fichero liferay-look-and-feel.xml al que le puedes añadir:

<settings>
<setting key="portlet-setup-show-borders-default" value="false" />
</settings>

Esto te debería quitar todos los bordes de los portlets del portal.

No se si he resuelto tu duda o te referias a otra cosa.

Un saludo,

Eudaldo.
Eudaldo Alonso, geändert vor 14 Jahren.

RE: Problema cuando elimino el borde de un portlet

Junior Member Beiträge: 50 Beitrittsdatum: 07.05.09 Neueste Beiträge
Buenas,

Que se me olvidaba para saber si un usuario esta logado en el sistema puedes utilizar:

$themeDisplay.isSignedIn()

Creo que es más correcto que utilizar, $themeDisplay.getUser().getFirstName() == ""

Un saludo,

Eudaldo.