Using templates
Templates are a set of text files used by the gwd server to produce the HTML code displayed by the client browser. Examples of such files are:
- welcome.txt the welcome page shown when you connect to
localhost:2317/basename
- perso.txt the page that displays one individual of the base
- updfam.txt the page containing the form to update a family
Templates are invoqued by adding (through a clickable button if available, or manually if not) templ=templ_name;
in the URL at the top of your browser. GeneWeb will "remember" this request for a template use and will automatically add the appropriate text in all subsequent URL requests.
Template files are stored in folders named geneweb/gw/etc/template_name
.
When executing its tasks, gwd will search for the needed files in several folders in the following sequence:
bdir/etc/base/ gw/etc/template_name/ gw/etc/
where -bdir
is the value of the -bd
parameter of gwd, and gw
is the folder in which sits gwd.
- (this needs to be verified. Are
bdir/etc/base/template
andgw/etc/base
looked into? Behaviour changed between 6.08 and 7.00 Henri83 (talk) 18:02, 16 October 2015 (CEST)).
Perso.txt
The file perso.txt offers an additional customization level by providing several options for the display of personal data. The code below is somewhat self explanatory:
%import;perso_utils %include.perso_header; %if;(bvar.perso_module_tplnb="" or bvar.perso_module_tplnb=0) %apply;show_templ("perso_module/etat_civil") %apply;show_templ("perso_module/parent_simple") %apply;show_templ("perso_module/union_simple") %apply;show_templ("perso_module/freresoeur_simple") %apply;show_templ("perso_module/relations") %apply;show_templ("perso_module/timeline") %apply;show_templ("perso_module/notes") %apply;show_templ("perso_module/sources") %apply;show_templ("perso_module/arbre_3gen_v_photo") %else; %for;i;0;bvar.perso_module_tplnb; %apply;get_templ(i) %end; %end;
For most of the modules, several alternatives are available and can be selected by editing the appropriate line. here is the current cocntent of the perso_modules folder:
drwxr-xr-x 23 Henri staff 782 1 oct 22:26 . drwxr-xr-x 64 Henri staff 2176 15 oct 23:56 .. -rw-r--r-- 1 Henri staff 3979 1 oct 22:26 arbre_3gen_v.txt -rw-r--r-- 1 Henri staff 5533 1 oct 22:26 arbre_3gen_v_photo-sav.txt -rw-r--r-- 1 Henri staff 12691 1 oct 22:26 arbre_3gen_v_photo.txt -rw-r--r-- 1 Henri staff 10477 1 oct 22:26 arbre_4gen_v.txt -rw-r--r-- 1 Henri staff 19592 1 oct 22:26 arbre_5gen_h.txt -rw-r--r-- 1 Henri staff 2303 1 oct 22:26 etat_civil.txt -rw-r--r-- 1 Henri staff 7283 1 oct 22:26 famille.txt -rw-r--r-- 1 Henri staff 2964 1 oct 22:26 freresoeur_complet.txt -rw-r--r-- 1 Henri staff 2972 1 oct 22:26 freresoeur_simple.txt -rw-r--r-- 1 Henri staff 1636 1 oct 22:26 notes.txt -rw-r--r-- 1 Henri staff 785 1 oct 22:26 parent_complet.txt -rw-r--r-- 1 Henri staff 431 1 oct 22:26 parent_evolue.txt -rw-r--r-- 1 Henri staff 1653 1 oct 22:26 parent_photo.txt -rw-r--r-- 1 Henri staff 271 1 oct 22:26 parent_simple.txt -rw-r--r-- 1 Henri staff 1877 1 oct 22:26 relations.txt -rw-r--r-- 1 Henri staff 360 1 oct 22:26 sources.txt -rw-r--r-- 1 Henri staff 1099 1 oct 22:26 timeline.txt -rw-r--r-- 1 Henri staff 7374 1 oct 22:26 union_complet.txt -rw-r--r-- 1 Henri staff 3636 1 oct 22:26 union_evolue.txt -rw-r--r-- 1 Henri staff 2532 1 oct 22:26 union_photo.txt -rw-r--r-- 1 Henri staff 1861 1 oct 22:26 union_simple.txt
Changing the content of perso.txt can be achieved through a set of parameters stored in the .gwf file where the value of the parameter is the name of the desired module:
perso_module_0=etat_civil perso_module_1=parent_simple perso_module_2=union_simple perso_module_3=freresoeur_simple perso_module_4=relations perso_module_5=notes perso_module_6=sources perso_module_7=arbre_3gen_v_photo
One must add a last parameter specifying the total number of sub-templates
perso_module_tplnb=8
The result corresponding to each choice is as follows: