Ir al contenido

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 3.10//EN"
"http://www.openkm.com/dtd/property-groups-3.10.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 crear una relación entre el campo del formulario de la plantilla y el grupo de propiedades, debe nombrarlos siguiendo una convención de nomenclatura: reemplace “:” y “.” por “_”. Aquí puede ver la correspondencia entre ambos campos:

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!}
okp:tpl.language okp_tpl_language ${okp_tpl_language!}

Para este tipo de plantilla, crearemos una plantilla HTML. Este es el código fuente de la plantilla:

<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?string("yyyy-MM-dd")!}</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 reemplazará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 ausente, pero el operador ! gestiona esta situación. Además, puede poner un valor por defecto en caso de que falte uno con esta expresión:

${missing_value!"The default one"}

El resultado es un fichero HTML con la entrada del cliente solicitada por OpenKM.

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

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

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

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