Get it on Google Play
15-08-2018
 

Como crear catálogos en Liferay con Asset Publisher y ADTs

En el artículo “Acceso a la capa de servicios desde plantillas en Liferay 7/DXP” ya os expliqué como acceder a la capa de servicios de Liferay desde plantillas(Tanto plantillas de contenidos como ADT).

Hoy voy a explicar como montar un ‘catalogo'(Aunque se pueden montar gran cantidad de cosas como visores, sliders, etc. es una navaja Suiza) simplemente creando dos plantillas de contenidos y una plantilla ADT(Application Display Template).

Creamos una estructura de contenidos y dos plantillas

La idea es crear una estructura de contenidos para introducir los datos. Esta estructura será: Artículo, Oferta, Slide, etc. En nuestro caso será ‘ARTICULO_O_NOTICIA’. Para crearla iremos a la sección del ‘Site’ del menú lateral ‘Contenido’->’Contenido Web’ y sobre los tres puntos de arriba a la derecha pinchamos en ‘Estructuras’. Aquí creamos nuestra estructura:

Liferay Application Display Templates 1

Liferay Application Display Templates 1

Una vez tenemos la estructura creada podemos crear las dos plantillas. Una será la plantilla que pintará nuestro contenido como un ítem y la segunda será la que pintará el contenido completo. Podemos acceder a las plantillas desde el mismo listado de estructuras haciendo click en el menú desplegable de la derecha(Tres puntos) de nuestra plantilla y seleccionando ‘Administra plantillas’:

Liferay Application Display Templates  2

Liferay Application Display Templates 2

Cada una de las plantillas tendrán una pinta parecida a esta:

Liferay Application Display Templates 3

Liferay Application Display Templates 3

Fijaros que una vez guardada la plantilla tenemos un campo ‘clave de plantilla’. Bien deberemos recordar la clave de plantilla de la miniatura o ítem. Ésta clave nos permitirá acceder a esta plantilla de manera ‘programática’.

Creamos la plantilla ADT

Una vez tenemos nuestras dos plantillas de contenido web ya podemos crear la plantilla ADT, esto lo podremos hacer en ‘Configuración’->’Plantilla de visualización de aplicaciones'(En Liferay 7.1 está en el menú ‘build’). Aquí crearemos una plantilla para el portlet ‘Publicador de contenido web’ con el siguiente código:

 
<ul class="espais">
<#if entries?has_content>
    <#list entries as curEntry>
        <#assign 
            assetRenderer = curEntry.getAssetRenderer()
            journalArticle = assetRenderer.getAssetObject()      
            />
   
        <li>
            <a href='${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry)}'>
            <@liferay_journal["journal-article"]
                        articleId=journalArticle.getArticleId()
                        ddmTemplateKey="74257"
                        groupId=journalArticle.getGroupId()
                    />        
            </a>
        </li>
    </#list>
</#if>
</ul>

Éste código saca un listado de contenidos usando la plantilla con ‘clave de plantilla’ 74857. Él código es sencillo de entender. Por cierto, cuando creéis los contenidos aseguraros de usar la plantilla que muestra el contenido completo.

Configurar Asset Publisher

Genial ahora ya solo nos queda insertar el portlet ‘Asset Publisher'(Creo que en castellano ‘Publicador de contenido web’) y configurar estás dos cosas:

  • En ‘Tipo de contenido’ a mostrar hay que seleccionar ‘Artículo de contenido web’ y seleccionar la estructura que hemos creado(Sino esto dará error).
  • En la sección ‘Configuración de la visualización’ hay que seleccionar mostrar la plantilla ADT que hemos creado.

Y finalmente ya tenemos nuestro catalogo funcionando!!!

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply