Diferencia entre revisiones de «Visualización dinámica de web content en Liferay»

De Dos Ideas.
Saltar a: navegación, buscar
 
(No se muestran 2 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
En este ejemplo se muestra como visualizar de forma dinámica, mediante un parámetro en la url, distintos Web Content en un mismo portlet.
+
En este ejemplo se muestra como visualizar de forma dinámica, un Web Content especifico mediante su id.
 +
 
 +
En el código del template vemos como obtener un parámetro de la url actual (el id del Web Content) y como buscar el contenido para visualizar.
  
 
<code>
 
<code>
Línea 8: Línea 10:
 
#set ($webcontent-id = $webContentId)
 
#set ($webcontent-id = $webContentId)
 
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))
 
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))
   
+
 
 +
## Para webcontents globales que tienen asociado una estructura y template
 +
## $journalContentUtil.getContent($company.group.groupId, $webcontent-id, $viewMode, $request.theme-display.language-id , $xmlRequest)
 +
 
 
#if($webcontent)
 
#if($webcontent)
 
     $webcontent
 
     $webcontent
 
#else
 
#else
     <a href="?articleId=WHO-IS-USING-LIFERAY">WHO-IS-USING-LIFERAY</a>
+
     <a href="?webContentId=WHO-IS-USING-LIFERAY">WHO-IS-USING-LIFERAY</a>
 
     <br>
 
     <br>
 
#end
 
#end
Línea 18: Línea 23:
 
</code>
 
</code>
  
Para asignar un id propio a un Web Content hay que agregar las siguiente propiedad al archivo portal-ext.properties.
+
Para asignar un id propio a un Web Content hay que agregar la siguiente propiedad al archivo portal-ext.properties.
  
 
<code>
 
<code>

Revisión actual del 17:32 30 oct 2013

En este ejemplo se muestra como visualizar de forma dinámica, un Web Content especifico mediante su id.

En el código del template vemos como obtener un parámetro de la url actual (el id del Web Content) y como buscar el contenido para visualizar.

  1. set ($current_url = $request.get("attributes").CURRENT_COMPLETE_URL)
  2. set ($paramName='webContentId')
  3. set ($webContentId = $httpUtil.getParameter($current_url, $paramName))
  4. set ($group_id = $getterUtil.getLong($request.theme-display.scope-group-id))
  5. set ($webcontent-id = $webContentId)
  6. set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))
    1. Para webcontents globales que tienen asociado una estructura y template
    2. $journalContentUtil.getContent($company.group.groupId, $webcontent-id, $viewMode, $request.theme-display.language-id , $xmlRequest)
  1. if($webcontent)
   $webcontent
  1. else
   <a href="?webContentId=WHO-IS-USING-LIFERAY">WHO-IS-USING-LIFERAY</a>
   
  1. end

<a href="/web/guest/prueba">Ir al link</a>

Para asignar un id propio a un Web Content hay que agregar la siguiente propiedad al archivo portal-ext.properties.

journal.article.force.autogenerate.id=false

Esto habilitara en la creación del Web Content la posibilidad de cargar un id propio o la opción de tildar que Liferay lo autogenere.