Ir al contenido

OpenCms/cms:include

De Wikilibros, la colección de libros de texto de contenido libre.

Se utiliza para incluir archivos del OpenCms VFS dinámicamente en tiempo de ejecución. Este archivo es tratado como una request con parámetros opcionales.

Hay distintas opciones para determinar el nombre del archivo incluido utilizando los siguientes atributo:

  • page
  • property
  • attribute

Si ninguno de estos atributos se han seteado, el cuerpo del tag <cms:include> es evaluado y el resultado se utiliza como el nombre del archivo. Si aun no se puede resolver el nombre, se utiliza el valor del método getUri() del CmsRequestContext actual.

Atributos

[editar]
page|file
Nombre del archivo incluido.
property
Nombre de una propiedad del JSP, que a su vez especifica el nombre del archivo incluido.
attribute
Clave de la entrada en la hashtable de request, correspondiente al nombre del archivo incluido.
element
Si la JSP incluida está dividida en elementos mediante el tag cms:template, solo el elemento especificado de la JSP será incluido. El atributo element es tratado como un parámetro adicional de request.
suffix
Agrega un sufijo al nombre del archivo.
cachable
Si es false, el archivo incluido no será cacheado por Flexcache.

Cuerpo

[editar]

Se puede utilizar código scriplet para determinar el nombre del archivo incluido. Se pueden agregar claves/valores adicionales a la hastable de parámetros de request para pasarlos como el archivo incluido, por ejemplo:

<cms:param name="myparam" value="myvalue" />

Ejemplo de uso

[editar]

Incluir la JSP some_page.html:

<cms:include page="some_page.html" />

ó

<cms:include file="some_page.html" />

Evaluar el cuerpo para determinar el nombre del archivo:

<cms:include>
 <cms:property name="template" file="parent"/>
</cms:include>

Incluir un archivo seteando su nombre en la hashtable de atributos de request:

<%
...
request.setAttribute("body", "../elements/template-body.html" );
...
%>
<cms:include attribute="body">
   <cms:param name="__locale"><%= locale %></cms:param>
</cms:include>

Incluir el archivo especificado en el atributo file. Agregar parámetros adicionales a la request de los archivos incluidos:

<cms:include file="../elements/template-nav-top.jsp">
  <cms:param name="__locale"><%= locale %></cms:param>
  <cms:param name="__navpart" value="toprow" />
</cms:include>

Incluir el elemento head de la JSP especificada por la propiedad template:

<cms:include property="template" element="head" />