The syntax of the templates

SPIP uses a syntax to write templates which has a limited vocabulary but which is also extremely rich and modular in nature. This syntax, defined explicitly in the ecrire/public/phraser_html.php files, contains elements such as:

  • the loop ("boucle" in French)
    <B_loopname>
    ... before content
    <BOUCLE_loopname(TABLE){criteria}>
    ... for each matching element
    </BOUCLE_loopname>
    ... after content
    </B_loopname>
    ... else content
    <//B_loopname>
    
  • the field or tag ("champ" and "balise" in French)
    [ before (#TAG{criteria}|filters) after ]
    
  • the argument ({args}, |filter or |filter{args} on tags)
  • criteria ({criteria=param} used on loops)
  • code inclusion
    <INCLURE{fond=included_code_segment_name}>
    
  • placeholders ("idiome" in French) (language specific character strings)
    <:type:string_code_name:>
    
  • polyglots ("polyglotte" in French) (<multi> used throughout templates and in user text)
    <multi>[fr]français[en]English</multi>
    

Author Mark Baber Published : Updated : 12/03/23

Translations : English, français, Nederlands