Actions

Template engine: Difference between revisions

From LimeSurvey Manual

No edit summary
No edit summary
Line 1: Line 1:
Since Louis factored out all HTML from qanda and added a configuration file to the templates, it's a small task to add a template engine, replace the PHP views with e.g. Twig templates.
Since Louis factored out all HTML from qanda and added a configuration file to the templates, it's a small task to add a template engine, replace the PHP views with e.g. Twig templates.
= Use-case =
* Template providers don't have to worry about core changes in the question view files
* Template providers can apply any CSS framework specific HTML they want, like Foundation


= Requirements =
= Requirements =

Revision as of 21:10, 11 September 2016

Since Louis factored out all HTML from qanda and added a configuration file to the templates, it's a small task to add a template engine, replace the PHP views with e.g. Twig templates.

Use-case

  • Template providers don't have to worry about core changes in the question view files
  • Template providers can apply any CSS framework specific HTML they want, like Foundation

Requirements

Must have

  • Template files in template zip packages can override question view files
  • Template zip package can upload template files in template editor

Should have

  • Possible to edit Twig/Mustache templates in template editor

Could have

?

Comparison between Twig and Mustache

Function Twig Mustache
Echo variable {{var}} {{var}}
Echo field in variable {{var.field}} {{#var}} {{field}} {{/var}}
Loop variable {% for user in users %} ... {% endfor %} {{#users}} ... {{/users}}
Branch on boolean {% if trueOrFalse %} ... {% endif %} {{#trueOfFalse}} ... {{/trueOrFalse}}
Translate Bind eT to lambda and then {{#eT}} "String to translate"" {{/eT}}
Sandbox Yes Not needed