Ir al contenido
Otras versiones

Cargando…

Creating Text templates

Esta página aún no está disponible en tu idioma.

Register the Metadata group definition at 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>

In order to establish a relation between the template form field and the property group, you have to name them following a naming convention: replace “:” and “.” with “_”. Here you can see the matching between the two fields:

Metadata field name Template field name Template field value
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!}

For this kind of template, we will create an HTML template. This is the template source code:

<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>

The tags ${okp_tpl_name!}, ${okp_tpl_birth_date!} and ${okp_tpl_language!} will be replaced by user input values. An error will occur and abort the template processing if you try to access a missing variable, but the ! operator handles this situation. In addition, you can provide a default value if one is missing using this expression:

${missing_value!"The default one"}

The result is an HTML file with the client input requested by OpenKM.  

OpenKM uses FreeMarker internally, so you can take advantage of FreeMarker’s formatting flexibility. For example, you can set the date format this way:

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

Learn more about FreeMarker formatting at Built-in Reference.  

  • Upload tpl.html file to /okm:templates/documents with the contents described above.
  • Register metadata definition okg:tpl at Administration > Metadata 
  • Enable metadata from profiles at Administration > Profiles 
  • Add metadata group okg:tpl to the tpl.html file.