Ir al contenido
Otras versiones

Cargando…

Crear plantillas de texto

Registre la definición del grupo de metadatos en Administration > Metadata.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.1//EN"
"http://www.openkm.com/dtd/property-groups-2.1.dtd">
<property-groups>
<property-group label="Sample Template" name="okg:tpl">
<input label="Name" name="okp:tpl.name"/>
<input label="Birth Date" name="okp:tpl.birth_date" type="date" />
<select label="Language" name="okp:tpl.language" type="simple">
<option label="Java" value="java"/>
<option label="Python" value="python"/>
<option label="PHP" value="php" />
</select>
</property-group>
</property-groups>

Para relacionar el campo de formulario de la plantilla con el grupo de propiedades, debe nombrarlos siguiendo una convención: sustituya “:” y “.” por “_”. Aquí puede ver algunos ejemplos de conversión:

Nombre del campo de metadatos Nombre del campo de la plantilla Valor del campo de la plantilla
okp:tpl.name okp_tpl_name ${okp_tpl_name!}
okp:tpl.birth_date okp_tpl_birth_date ${okp_tpl_birth_date!?string(“yyyy-MM-dd”)}
okp:tpl.language okp_tpl_language ${okp_tpl_language!}

Para este ejemplo crearemos una plantilla HTML. Este es el código fuente:

<html>
<body>
<h1>Sample template</h1>
<table>
<tr>
<td><b>Name</b></td>
<td>${okp_tpl_name!}</td>
</tr>
<tr>
<td><b>Birth Date</b></td>
<td>${okp_tpl_birth_date!}</td>
</tr>
<tr>
<td><b>Language</b></td>
<td>${okp_tpl_language!}</td>
</tr>
</table>
</body>
</html>

Las etiquetas ${okp_tpl_name!}, ${okp_tpl_birth_date!} y ${okp_tpl_language!} se sustituirán por los valores introducidos por el usuario. Se producirá un error y se abortará el procesamiento de la plantilla si intenta acceder a una variable inexistente, pero el operador ! gestiona esta situación. Además, puede indicar un valor por defecto para el caso de una variable inexistente con esta expresión:

${missing_value!"The default one"}

El resultado es una conversión a PDF de la plantilla HTML con los datos del cliente solicitados por OpenKM.  

</property-groups>

OpenKM utiliza FreeMarker, por lo que puede aprovechar la flexibilidad de formato de FreeMarker. Por ejemplo, puede establecer el formato de fecha de esta forma:

${okp_tpl_birth_date?string("yyyy-MM-dd")}

Puede obtener más información sobre el formato de FreeMarker en: Built-in Reference.  

  • Suba el archivo tpl.html a /okm:templates con el contenido descrito anteriormente.
  • Registre la definición de metadatos okg:tpl en Administration > Metadata 
  • Habilite los metadatos desde los perfiles en Administration > Profiles 
  • Añada el grupo de metadatos okg:tpl al archivo tpl.html.