Actions

Theme editor/nl: Difference between revisions

From LimeSurvey Manual

(Created page with "'''Privacy.pstpl''', '''invitationemail.pstpl''', '''reminderemail.pstpl''' en '''confirmationemail.pstpl''' worden niet meer gebruikt door LimeSurvey en vervangen door standa...")
No edit summary
 
(817 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages />  
<languages />  
=Introductie=
==Introductie==


LimeSurvey heeft een template- en stijlsysteem dat het mogelijk maakt om thema's te maken die je wel kent uit browsergebaseerde software. Hier gebruiken we de term '''Sjablonen'''. De Sjablonen definieren het uiterlijk van de pagina's van een enqûete. Het enqûetebeheer kan het sjabloon kiezen dat gebruikt wordt, en dat aanpassen. Hierbij kunnen het logo en achtergrondkleuren aangepast worden, maar ook tekstkleuren voor specifieke vragen gemaakt worden.
LimeSurvey heeft een systeem dat het mogelijk maakt om thema's (in oudere versies sjablonen genoemd) te maken. De thema's definiëren het uiterlijk van de pagina's van een enquête. Je kunt in het enquêtebeheer kiezen welk thema gebruikt wordt, en dat aanpassen. Hierbij kunnen het logo en de achtergrondkleuren aangepast worden, maar ook tekstkleuren voor specifieke vragen toevoegen.


LimeSurvey wordt geleverd met een set standaardsjablonen. Deze staan in de '''templates'''-directory: ieder sjabloon heeft z'n eigen directory. Binnen deze directory zijn er verschillende soort bestanden: '''sjablonen (.pstpl)''', '''cascading style sheets (.css)''', '''plaatjes''' ('''.jpg''' or '''.png''') en mogelijk andere.


Net als in andere themagebaseerde systemen wordt HTML gebruikt om het sjabloon op te bouwen en te tonen aan de gebruiker. Daarbij worden '''sleutelwoorden''' gebruikt die in accolades ('{', '}') geplaatst worden, en die vervangen worden door de eigenlijke tekst. Hieronder een voorbeeld van het sjabloonbestand, en het resultaat zoals getoond aan de gebruiker.
LimeSurvey wordt geleverd met een set standaardsthema's. Deze staan in de map ''themes/survey/'', voor elk thema is er een map. Hierin staan verschillende soorten bestanden:een configurate-bestand in XML, meerdere mappen met views '''themes (.twig)''', '''cascading style sheets (css)''', '''plaatjes''' ('''jpg''' en '''png''') en mogelijk andere.  


<syntaxhighlight lang="php" enclose="div"><center><font face='verdana' color='red'>{SURVEYNAME}</font><br />
 
<font face='verdana' color='blue'><u>{SURVEYDESCRIPTION}</u></center>
Sinds LimeSurvey 2.50 gebruikt de thema-engine [http://getbootstrap.com/docs/3.3/ Bootstrap 3] als CSS-framework.  Bootstrap 3 is een standaard framework, er is elders veel documentatie, tutorials en forumthreads van beschikbaar.
 
 
Sinds LimeSurvey 3 gebruikt de thema-engine [https://twig.symfony.com Twig], zodat de thema-ontwikkelaars de logica van de enquêteweergave op een veilige en gemakkelijke manier kunnen veranderen. Twig vervangt het oude systeem van vervangende trefwoorden dat in de oudere versies werd gebruikt. De logica die werd gebruikt om de HTML van de trefwoorden te genereren, is nu beschikbaar in de weergaven van het thema.
 
 
Stukje code in het thema Vanilla:
 
<syntaxhighlight lang="twig">
<div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}>
    {# NB: Als je de vraag er anders wilt laten uitzien, gebruik dan een vraagthema #}
    {{ aQuestion.answer | raw }}
</div>
</syntaxhighlight>
</syntaxhighlight>


Met als resultaat:
Thema's bepalen door het gebruik van HTML en Twig-code ook het lettertype en de positie van de tekst en vergelijkbare structuren. Deze structuren worden vastgelegd in CSS (cascading style sheets), die o.a. de positie, lettertype, letterkleur en lettergrootte bepalen. Hiervoor worden klassen gebruikt, die refereren aan HTML-objecten in het sjabloon. Binnen LimeSurvey zijn er speciale klassen gedefinieerd, die gebruikt kunnen worden voor het aanpassen van deze elementen. Ook worden sleutelwoorden gebruikt om de inhoud aan te passen, zoals de titel van de enquête en alle vraagteksten.
 
Als je een nieuw sjabloon ontwerpt, overweeg dan om het beschikbaar te stellen aan alle gebruikers van LimeSurvey. Er is een bibliotheek van beschikbare sjablonen, enquêtes en andere add-ons, en dat maakt LimeSurvey waardevoller!
Kijk hiervoor op onze [https://www.limesurvey.org/index.php?option=com_sobipro&sid=55:Templates&Itemid=729 template repository] hoe je je sjablonen kunt delen met andere gebruikers.
 
==Een sjabloon aanmaken==


<div class="simplebox"><center>'''<span style='color:red'>My New Survey</span>'''</center>
Om een sjabloon aan te kunnen maken (of een bestaande aan te passen) heb je  [[Manage users/nl#Globale rechten van een gebruiker instellen|Sjabloonrechten]] nodig binnen LimeSurvey. Ook heb je toestemming nodig om de bestanden binnen de sjabloonmap te wijzigen.


<center><u><span style='color:#0000ff'>Dit is mijn enqûete over het soort chocolade dat mensen lekker vinden.</span></u></center></div>
<div class="simplebox"><span style='color:red'>'''Waarschuwing: '''</span>Een wijziging van een thema heeft gevolgen voor alle enquêtes die er gebruik van maken! Pas alleen een thema aan als je echt kennis van thema's en HTML hebt.</div>


Sjablonen bepalen door het gebruik van HTML ook het lettertype en de positie van de tekst en vergelijkbare structuren. Deze structuren worden meestal vastgelegd in cascading style sheets (CSS), die de positie, lettertype, -kleur en -grootte, etcetera. Stijlsheets gebruiken daarvoor klassen, die refereren aan HTML-objecten in het sjabloon. Binnen LimeSurvey zijn er speciale klassen gedefinieerd, die gebruikt kunnen worden voor het aanpassen van deze elementen. Ook worden sleutelwoorden gebruikt om de inhoud aan te passen, zoals de titel van de enqûete en de vraagtekst van iedere vraag.
Het heeft de voorkeur om een nieuw thema te beginnen via '''Thema's''' (zie onder) onder '''Configuratie'''. Als je dat wilt, kun je de bestanden ook direct benaderen met je favoriete teksteditor. In dit voorbeeld gebruiken we de thema-editor om een nieuw thema aan te maken. Daarna kun je de bestanden vrijelijk aanpassen met een teksteditor.
Map: ''LimeSurvey_web_root/upload/themes/survey/je_nieuwe_thema''.


Als je een nieuw sjabloon ontwerpt, overweeg dan het beschikbaar te maken voor de LimeSurvey-community. Hiermee vul je de bibliotheek van beschikbare sjablonen, enqûetes en andere aanvullingen, en dat maakt LimeSurvey waardevoller! Kijk hiervoor even in de [http://www.limesurvey.org/component/remository/lang,nl-nl/ Sjabloonbibliotheek]
<div class="simplebox">'''Rechten:''' bij unix/linuxsystemen worden de thema's beheerd door de groep en eigenaar die ook de webserver beheerd. Kijk eerst of je de rechten hebt om de bestanden te wijzigen, en dat ze niet van eigenaar veranderen als je ze opslaat. Anders kan het zijn dat ze niet meer benaderbaar zijn in de Thema-editor.</div><br />


=Een sjabloon aanmaken=
Een aantal 'publieke' elementen van LimeSurvey kunnen ook aangepast worden met behulp van sjablonen.


Om een sjabloon aan te kunnen maken (of een bestaande aan te passen) heb je Sjabloonrechten nodig binnen LimeSurvey. Ook heb je toestemming nodig om de bestanden binnen de sjabloondirectory te wijzigen.
{{Note|Bestanden van een thema zijn lastig te begrijpen als je geen kennis hebt van HTML, CSS, Twig en JavaScript.}}


<div class="simplebox">'''Waarschuwing:''' Wijzigingen op sjablonen worden doorgevoerd op alle enqûetes die er gebruik van maken! Daarom is het verstandig alleen sjablonen aan te passen als je een goede HTML-ontwikkelaar bent. </div>
=De Sjablooneditor=


Het heeft de voorkeur om een nieuw sjabloon te beginnen via de Template Editor (zie ook onder) in het beheerpaneel. Als je dat wilt, kun je de bestanden ook direct benaderen via je favoriete teksteditor. In dit voorbeeld gaan we even uit van de Template Editor om een nieuw sjabloon aan te maken in de directory. Daarna kun je de bestanden vrijelijk aanpassen via de teksteditor.
LimeSurvey heeft een editor ('''Configuratie''' > '''Thema's'''> '''Thema Editor''') om gemakkelijk een thema te wijzigen. Alleen [[Manage users#Set global permissions for a user|gebruikers met thema-rechten]] en de hoofdbeheerders hebben toegang tot deze editor.  


<div class="simplebox">'''Rechten:''' bij unix/linuxsystemen worden de templates beheerd door de groep en eigenaar die ook de webserver beheerd (iets als 'www'). Bekijk eerst of je rechten hebt om de bestanden te wijzigen, en dat ze niet van eigenaar veranderen als je ze opslaat. Anders kan het zijn dat ze niet meer benaderbaar zijn in de Template Editor.</div>


Sjabloonbestand zijn lastig te begrijpen als je er mee begint. Je moet er HTML voor kennen, en mogelijk ook CSS. Het beste is dan ook eerst een bestaand sjabloon aan te passen. Kopieër daarvoor eerst een bestaand sjabloon naar een nieuwe directory, en wijzig deze bestanden. Daarmee maak je voor jezelf het concept duidelijker.
{{Alert|title=Attentie|text=Een fout in een thema kan ertoe leiden dat een enquête met dat thema niet meer in te vullen is door deelnemers. }}


Een aantal 'publieke' elementen van LimeSurvey kunnen ook aangepast worden met behulp van sjablonen. Hier gaan er daar dieper op in. Meer informatie is te krijgen in de sectie [[Templates + Styles/nl|Sjablonen + Stijl]].


=De LimeSurvey Template Editor=
Je kunt de bestanden van het thema wijzigen en uitbreiden door te klikken op "Thema's" onder "Configuratie".


LimeSurvey heeft een Template Editor om het gemakkelijker te maken snelle wijzigingen in sjablonen te maken. Alleen gebruikers met sjabloonrechten hebben toegang tot deze editor in het beheerpaneel. Eén sjabloon bepaalt namelijk hoe alle enqûetes er uit zien die er gebruik van maken, en een foutje is snel gemaakt, waardoor de enqûetes niet meer gebruikt kunnen worden. Beperk daarom de toegang tot gebruikers die weten waar ze het over hebben.


Je kunt de bestanden van het sjabloon wijzigen door te klikken op het "Template Editor"-icoon[[File:templates.png]] in het administratiepaneel. Het hoofdscherm lijkt op het enqûetebeheerpaneel: je kunt hier de sjablonen bekijken en wijzigen. Als je een een selectie gemaakt hebt, zie je de lijst met bestanden die binnen het sjabloon gebruikt wordt.
[[File:templates.png]]


== Sjabloonmenu ==
*'''Bewerk-icoon:''' geeft aan of een sjabloon aangepast mag worden. Een uitgegrijst icoon geeft aan dat het template niet bewerkt mag worden, een klikbaar icoon dat het aangepast kan worden. Dit kun je aanpassen in de sjabloonrechten.
*'''Hernoemen:''' geeft de mogelijkheid om het sjabloon een nieuwe naam te geven. Dit gebruik je meestal na het kopiëren of importeren van een bestaand sjabloon.
*'''Exporteren:''' exporteert het huidige sjabloon naar een .zip-bestand
*'''Kopiëren:''' kopieert het huidige sjabloon naar een nieuw sjabloon.


In de selectielijst rechts ("Screen") kun je kiezen welke pagina van de enqûete je wilt zien.
Je selecteert het sjabloon dat je wilt bewerken/bekijken.  


==Sjabloon importeren/exporteren/kopiëren==


Als je een sjabloon '''exporteert''', wordt er een zip-archief aangemaakt met alle bestanden (.pstpl-bestanden, plaatjes, style sheets, ...). Deze kun je simpel weer '''importeren''' bij een andere LimeSurvey-installatie. Je kunt ook het zip-archief handmatig kopiëren en daarna uitpakken op de doellokatie. Let er wel op dat je de directorynaam verandert als je dat op de huidige installatie doet.
[[File:Template-editor-2013-7-10_11_38_16.png|center]]


Als de rechten voor de sjabloondirectory toestaan dat LimeSurvey er in mag schrijven, dan kun je ook de optie gebruiken om een sjabloon te '''kopiëren'''.


==Paginastructuur / Sjabloongebruik==
De beschikbare opties:
*'''De Welkostpagina:''' startpage.pstpl, welcome.pstpl, navigator.pstpl, endpage.pstpl
*'''De Vragenpagina's:''' startpage.pstpl, survey.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, navigator.pstpl, endpage.pstpl
*'''De Verzendpagina:''' startpage.pstpl, survey.pstpl, submit.pstpl, (privacy.pstpl), navigator.pstpl, endpage.pstpl
*'''De Afsluitpagina:''' startpage.pstpl, completed.pstpl, endpage.pstpl


==Sjabloonbestanden==


De volgende bestanden worden gebruikt om elke enqûete op te bouwen, en moeten minstens aanwezig zijn in elk sjabloon dat je aanmaakt:
*'''Aanmaak''': geeft aan of er een sjabloon aangemaakt mag worden. Een nieuw sjabloon bestaat uit een kopie van het sjabloon 'default'. Je hoeft dus niet vanaf niets te beginnen.
*'''startpage.pstpl:''' De "kop" van iedere pagina. Begint met de "<head>" tag, maar de "<html>" tag staat er niet in. Wordt door de scripts aangemaakt. Wees er zeker van dat de startpage.pstpl een <body> tag heeft. Ook al staan de meeste browsers dit toe, dan nog heeft het LimeSurvey-javascript deze tag nodig om elementen te kunnen wijzigen. Het is niet versiets dat je veel 'sleutelwoorden' in  startpage.pstpl opneemt, alhoewel het nuttig is om de tag {SURVEYNAME} in de titel te zetten. Startpage.pstpl kan code bevatten die in endpage.pstpl afgemaakt wordt, bijvoorbeeld een tabel die je hier opent en in endpage.pstpl weer sluit. Startpage.pstpl en endpage.pstpl files zijn eigenlijk de kop en voettekst van elke pagina van LimeSurvey.
*'''Importeren''': importeren van een sjabloon uit een zip-bestand.
*'''survey.pstpl:''' De plaats van de naam en beschrijving van de enqûete. Er is geen tegenhanger voor dit gedeelte, dus mocht je HTML willen gebruiken, sluit dan alle tags af aan het eind van dit gedeelte.
*'''Exporteren:''' exporteert het huidige sjabloon naar een zip-bestand.
*'''welcome.pstpl:''' Het sjabloon voor het welkomstscherm (of, bij "alles-in-een" enqûetes, het enige scherm). Hier kun je de welkomstboodschap en introductie van de enqûete kwijt. Net zoals 'survey.pstpl' is er geen tegenhanger, dus sluit ook hier alle tags af als je die gebruikt.
*'''Kopiëren''': kopieert het huidige sjabloon naar een nieuw sjabloon.
*'''startgroup.pstpl:''' wordt aan het begin van groepen vragen getoond. Dit sjabloon heeft de tegenhanger 'endgroup.pstpl', dus je hoeft daar pas alle tags te sluiten.
*'''Hernoemen''': geeft de mogelijkheid om het sjabloon een nieuwe naam te geven. Dit gebruik je meestal na het kopiëren of importeren van een bestaand sjabloon.
*'''groupdescription.pstpl:''' wordt gebruikt om een beschrijving van de groep te geven. Staat apart van startgroup.pstpl, omdat het getoond wordt op zijn eigen pagina terwijl de deelnemer tussen groepen vragen zit, terwijl het boven de vragen afgebeeld wordt bij opvolgende groepen vragen. Heeft geen tegenhanger: sluit alle tags af.
*'''Sjabloon''': Een dropdownlijst met alle beschikbare sjablonen in je LimeSurvey installatie.
*'''question.pstpl:''' de plaats van de vraag, antwoord en hulpteksten. In "groepsgeoriënteerde" en "alles-in-een" enqûetes wordt dit gedeelte telkens opnieuw gebruikt. Heeft geen tegenhanger: sluit alle tags af.
*'''question_start.pstpl:''' bevat de individuele elementen die voor het begin van de vraag gezet worden. Deze worden in 'question.pstpl' via het {QUESTION} sleutelwoord opgenomen. Het is bedoeld om sjabloonontwerpers meer controle te geven hoe een vraag getoond wordt. Vanaf versie 1.87 is dit niet meer nodig: de sleutelwoorden zijn nu direct beschikbaar in question.pstpl. OPMERKING: sommige templates met een question_start.pstpl werken nog wel binnen LimeSurvey 1.x
*'''submit.pstpl (en privacy.pstpl):''' wordt getoond voordat de deelnemer de resultaten opstuurt (behalve bij "alles-in-een" enqûetes). Het geeft de deelnemer de gelegenheid om de gegeven antwoorden nog terug te kijken. Ook toont de pagina privacy informatie uit '''privacy.pstpl'''.
*'''completed.pstpl:''' wordt getoond als de deelnemer de resultaten verstuurd heeft en de enqûete ten einde is. Kan ook gebruikt worden om een "forwarding link" te tonen zoals die gezet is in de instellingen van de enqûete.
*'''endgroup.pstpl:''' sluit de groep vragen af, en kan gebruikt worden om tags die geopend zijn in  startgroup.pstpl te sluiten.
*'''navigator.pstpl:''' bevat de buttons die de navigatiekeuzes "volgende", "vorige", "laatste", "verstuur", "opslaan"  en "wis alles". Wordt gebruikt in alle pagina's behalve de compleet-pagina.
*'''printanswers.pstpl:''' hierin staat de de HTML omslag om de gedrukte versie van de enqûete te tonen.
*'''print_group.pstpl:''' heeft dezelfde opzet als startgroup.pstpl endgroup.pstpl voor de gedrukte versie van de enqûete.
*'''print_question.pstpl:''' heeft dezelfde opzet als question.pstpl voor de gedrukte versie van de enqûete.
*'''print_survey.pstpl:''' zelfde betekenis als survey.pstpl maar dan voor de gedrukte versie van de enqûete.


== CSS en Javascript==
*'''Scherm''': Een selectielijst waar je kunt kiezen welke pagina van de enquête je wilt zien.
*'''Terug naar beheerpaneel'''.


De volgende twee tags worden gebruikt om de inhoud van de bestanden template.css en template.js toe te voegen in het sjabloon:
===Sjabloon importeren/exporteren/kopiëren===
 
Als je een sjabloon exporteert wordt er een zip aangemaakt met alle bestanden (pstpl-bestanden, plaatjes, style sheets, ...). Deze kun je simpel weer '''importeren''' bij een andere LimeSurvey-installatie. Je kunt ook de zip handmatig kopiëren en daarna uitpakken op de juiste [[Theme editor/nl#Locatie sjabloonbestanden|locatie]].
 
Het wordt aanbevolen om de sjabloon import/export/copy functies in de sjablooneditor te gebruiken.
 
===Paginastructuur / Sjabloongebruik===
*'''Welkomstpagina:''' startpage.pstpl, welcome.pstpl, privacy.pstpl, navigator.pstpl, endpage.pstpl
*'''Vraagpagina:''' startpage.pstpl, survey.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl
*'''Afsluitpagina:''' startpage.pstpl, assessment.pstpl, completed.pstpl, endpage.pstpl
 
===Sjabloonbestanden===
 
De volgende bestanden worden gebruikt om een enquête op te bouwen, ze moeten aanwezig zijn in elk sjabloon dat je aanmaakt:
*'''startpage.pstpl:''' De "kop" van elke pagina. Begint met de "<head>" tag, maar de "<html>" tag staat er niet in. Wordt door de scripts aangemaakt. Wees er zeker van dat de startpage.pstpl een <body> tag heeft. Ook al staan de meeste browsers dit toe, dan nog heeft LimeSurvey deze tag nodig om elementen te kunnen wijzigen. Het is niet voor niets dat je veel 'sleutelwoorden' in  startpage.pstpl opneemt, alhoewel het nuttig is om de tag {SURVEYNAME} in de titel te zetten. Startpage.pstpl kan code bevatten die in endpage.pstpl afgemaakt wordt, bijvoorbeeld een tabel die je hier opent en in endpage.pstpl weer sluit. Startpage.pstpl en endpage.pstpl files zijn eigenlijk de kop en voettekst van elke pagina van LimeSurvey.
*'''survey.pstpl:''' De plaats van de naam en beschrijving van de enquête. Er is geen tegenhanger voor dit gedeelte, dus mocht je HTML willen gebruiken, sluit dan alle tags af aan het eind van dit gedeelte.
*'''welcome.pstpl:''' Het sjabloon voor het welkomstscherm (of, bij "alles-in-een" enquêtes, het enige scherm). Hier kun je de welkomstboodschap en introductie van de enquête kwijt. Net zoals 'survey.pstpl' is er geen tegenhanger, dus sluit ook hier alle tags af als je die gebruikt.
*'''startgroup.pstpl:''' wordt aan het begin van elke vraaggroep getoond. Dit sjabloon heeft de tegenhanger 'endgroup.pstpl', dus je hoeft daar pas de tags te sluiten.
*'''groupdescription.pstpl:''' wordt gebruikt om een beschrijving van de groep te geven.  Bij de enquête-instelling (''Presentatie & navigatie instellingen'' op de tab '''Presentatie''') kun je aangeven of deze getoond moet worden. Bij niet tonen wordt dit bestand niet meegenomen.
*'''question.pstpl:''' de plaats van de vraag, antwoord en hulpteksten. In "groepsgeoriënteerde" en "alles-in-een" enquêtes wordt dit gedeelte telkens opnieuw gebruikt. Heeft geen tegenhanger: sluit alle tags af.
*'''question_start.pstpl:''' bevat de individuele elementen die voor het begin van de vraag gezet worden. Deze worden in 'question.pstpl' via het {QUESTION} sleutelwoord opgenomen. Het is bedoeld om sjabloonontwerpers meer controle te geven hoe een vraag getoond wordt. Vanaf versie 1.87 is dit niet meer nodig: de sleutelwoorden zijn nu direct beschikbaar in question.pstpl.
*'''completed.pstpl:''' wordt getoond als de deelnemer de resultaten verstuurd heeft en de enquête ten einde is. Kan ook gebruikt worden om een "forwarding link" te tonen zoals die gezet is in de instellingen van de enquête.
*'''endgroup.pstpl:''' sluit een vraaggroep af, en kan gebruikt worden om tags die geopend zijn in  startgroup.pstpl te sluiten.
*'''navigator.pstpl:''' bevat de knoppen die de navigatiekeuzes "volgende", "vorige", "laatste", "verstuur", "opslaan"  en "wis alles". Wordt gebruikt in alle pagina's behalve de compleet-pagina.
*'''printanswers.pstpl:''' hierin staat de de HTML om de gedrukte versie van de enquête te tonen.
*'''print_group.pstpl:''' heeft dezelfde opzet als startgroup.pstpl endgroup.pstpl voor de gedrukte versie van de enquête.
*'''print_question.pstpl:''' heeft dezelfde opzet als question.pstpl voor de gedrukte versie.
*'''print_survey.pstpl:''' zelfde betekenis als survey.pstpl maar dan voor de gedrukte versie.
 
=== CSS en JavaScript===
 
De twee bestanden die altijd in een sjabloon gebruikt worden zijn  template.css (CSS) en template.js (JavaScript):
*'''{TEMPLATECSS}:''' voegt de links voor standaard css, template.css en template-rtl.css (voor rechts-naar-links-talen) toe.
*'''{TEMPLATECSS}:''' voegt de links voor standaard css, template.css en template-rtl.css (voor rechts-naar-links-talen) toe.
*'''{TEMPLATEJS}:''' voegt de links toe voor de standaard javascript, template.js en alle javascriptbestanden nodig om LimeSurvey te laten werken.
*'''{TEMPLATEJS}:''' voegt de links toe voor de standaard JavaScript, template.js en alle JavaScript-bestanden nodig om LimeSurvey te laten werken.
 
=== Gebruik Bootstrap===
LimeSurvey bevat Bootstrap 3, zo kunt u bij uw sjablonen gebruikmaken van de goed gedocumenteerde Bootstrap-classes.
Voor meer informatie verwijzen wij u naar de [http://getbootstrap.com Bootstrap documentatie].


=== Vervangen van standaard CSS of Javascript ===
Ook ondersteunen wij de [https://github.com/flatlogic/awesome-bootstrap-checkbox Awesome-Bootstrap-Checkbox] plugin.
Hierdoor kunt de typische Bootstrap kleur-classes gebruiken  (info,waarschuwing,gevaar,enz.) ook met het achtervoegsel "-checkbox", of "radio".


Sommige vragen gebruiken specifieke onderdelen, waaronder Javascript en CSS. Je kunt ook eigen bestanden toevoegen: alle bestanden in ./scripts of ./styles-public zijn overschrijfbaar.
==== Vervangen van standaard CSS of JavaScript ====


==Andere sjabloonbestanden==
Sommige vragen gebruiken specifieke bestanden voor JavaScript en CSS. Als je een functie wilt vervangen, gebruik dan een  "cascading systeem". In JavaScript is de laatst gelezen functie, de functie die gebruikt wordt.


'''Privacy.pstpl''', '''invitationemail.pstpl''', '''reminderemail.pstpl''' en '''confirmationemail.pstpl''' worden niet meer gebruikt door LimeSurvey en vervangen door standaardwaarden in de taalbestanden bij het sjabloon. Emailberichten kunnen aangepast worden per enqûete.
===Andere sjabloonbestanden===


==Standard Pages==
'''Privacy.pstpl''', '''invitationemail.pstpl''', '''reminderemail.pstpl''' en '''confirmationemail.pstpl''' worden niet meer gebruikt en zijn vervangen door standaardwaarden in de taalbestanden. E-mailberichten kunnen aangepast worden per enquête.


There are ten standard pages that a survey participant may see in the course of taking or accessing the LimeSurvey application.  Each is constructed from a number of common '''Template''' files from the '''Template''' specified in the survey's settings.  The table below indicates which template files are used in constructing each of these pages.
===Standaardpagina's===


{|
Er zijn 10 standaardpagina's die een deelnemer mogelijk gaat zien bij het gebruik van LimeSurvey. Elke pagina is weer opgebouwd uit de structuur van het '''Sjabloon''' dat gekozen is in de instellingen van de enquête. Hieronder zie je hoe de structuur samenhangt met de pagina's.
|  '''Survey Pages:'''<br/>'''Template Files'''||Survey<br/>List||Welcome||Question||Completed||Clear All||Register||Load||Save||Print<br/>Answers||Print<br/>Survey
 
{| class="wikitable"
'''Enquête Pagina/'''<br />'''Sjabloon bestanden'''!!Overzichts-<br />lijst!!Welkomst!!Vraag!!Voltooid!!Wis alles!!Aanmelden!!Laad!!Bewaar!!Print<br />Antwoorden!!Print
|-
|-
|SurveyList|| [[File:check.gif]]|| || || || || || || || ||
|SurveyList||align="center" | [[File:check.gif]]|| || || || || || || || ||
|-
|-
|Welcome|| || [[File:check.gif]]|| || || || || || || ||
|Welcome|| ||align="center" | [[File:check.gif]]|| || || || || || || ||
|-
|-
|Privacy|| || [[File:check.gif]]|| || || || || || || ||
|Privacy|| ||align="center" | [[File:check.gif]]|| || || || || || || ||
|-
|-
|Navigator|| || [[File:check.gif]]|| [[File:check.gif]]|| || || || || || ||
|Navigator|| ||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]|| || || || || || ||
|-
|-
|Survey|| || || [[File:check.gif]]|| || || [[File:check.gif]]|| || || ||
|Survey|| || ||align="center" | [[File:check.gif]]|| || ||align="center" | [[File:check.gif]]|| || || ||
|-
|-
|StartGroup|| || || [[File:check.gif]]|| || || || || || ||
|StartGroup|| || ||align="center" | [[File:check.gif]]|| || || || || || ||
|-
|-
|GroupDescription|| || || [[File:check.gif]]|| || || || || || ||
|GroupDescription|| || ||align="center" | [[File:check.gif]]|| || || || || || ||
|-
|-
|Question<span style='color:red'>'''*'''</span>|| || || [[File:check.gif]]|| || || || || || ||
|Question<span style='color:red'>'''*'''</span>|| || ||align="center" | [[File:check.gif]]|| || || || || || ||
|-
|-
|EndGroup|| || || [[File:check.gif]]|| || || || || || ||
|EndGroup|| || ||align="center" | [[File:check.gif]]|| || || || || || ||
|-
|-
|Assessment|| || || || [[File:check.gif]]|| || || || || ||
|Assessment|| || || ||align="center" | [[File:check.gif]]|| || || || || ||
|-
|-
|Completed|| || || || [[File:check.gif]]|| || || || || ||
|Completed|| || || ||align="center" | [[File:check.gif]]|| || || || || ||
|-
|-
|ClearAll|| || || || || [[File:check.gif]]|| || || || ||
|ClearAll|| || || || ||align="center" | [[File:check.gif]]|| || || || ||
|-
|-
|Register|| || || || || || [[File:check.gif]]|| || || ||
|Register|| || || || || ||align="center" | [[File:check.gif]]|| || || ||
|-
|-
|Load|| || || || || || || [[File:check.gif]]|| || ||
|Load|| || || || || || ||align="center" | [[File:check.gif]]|| || ||
|-
|-
|Save|| || || || || || || || [[File:check.gif]]|| ||
|Save|| || || || || || || ||align="center" | [[File:check.gif]]|| ||
|-
|-
|PrintAnswers|| || || || || || || || || [[File:check.gif]]||
|PrintAnswers|| || || || || || || || ||align="center" | [[File:check.gif]]||
|-
|-
|Print Survey || || || || || || || || || || [[File:check.gif]]
|Print Survey || || || || || || || || || ||align="center" | [[File:check.gif]]
|-
|-
|Print Group || || || || || || || || || || [[File:check.gif]]
|Print Group || || || || || || || || || ||align="center" | [[File:check.gif]]
|-
|-
|Print Question || || || || || || || || || || [[File:check.gif]]
|Print Question || || || || || || || || || ||align="center" | [[File:check.gif]]
|-
|-
|StartPage<br/>EndPage<br/>Template.css|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]|| [[File:check.gif]]||  
|StartPage<br />EndPage<br />Template.css||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||align="center" | [[File:check.gif]]||  
|}
|}


<span style='color:red'>'''*'''</span>NOTE: In versions 1.90 and up this replaces question.pstpl AND question_start.pstpl. If you are using an old custom template, you need to add the following line to the beginning of question.pstpl:<syntaxhighlight lang="php" enclose="div"><div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}"></syntaxhighlight>And then add the corresponding closing tag to the end of question.pstpl:<syntaxhighlight lang="php" enclose="div"></div></syntaxhighlight>
<span style='color:red'>'''*'''</span>OPMERKING: Vanaf versie 1.90+ vervangt dit question.pstpl en question_start.pstpl. Als je een ouder, aangepast sjabloon gebruikt, moet je deze regel aan het begin van quesion.pstpl toevoegen:<syntaxhighlight lang="php"><div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}"></syntaxhighlight> en question.pstpl afsluiten met:<syntaxhighlight lang="php"></div></syntaxhighlight>
 
<span style='color:red'>'''*'''</span>OPMERKING: Tot en met versie 1.91 werden js-bestanden niet in het sjabloon opgenomen. Vanaf versie 2 '''moet je {TEMPLATEJS} gebruiken''' om de links naar de bestanden te maken. Dat kan in startpage.pstpl of endpage.pstpl. Daar kun je de regel met "{TEMPLATEURL}/template.js" verwijderen en vervangen door {TEMPLATEJS} om je sjabloon te updaten.
 
===Bestandsbeheer===
 
In het "Bestandsbeheer"-scherm aan de linkerkant kun je een van de sjabloonbestanden kiezen. Je ziet het schermgedeelte, de JavaScript en de CSS-bestanden. De HTML-code zal dan in het "Bewerk"-gedeelte getoond worden. Als je de goede (map)rechten hebt mag je deze aanpassen en opslaan.


<span style='color:red'>'''*'''</span>NOTE: In version 1.91 and earlier, LimeSurvey js files are not included by the template. In version 2, '''you have to use {TEMPLATEJS} in your one of your template file''' to add the link to the js file. You can add it in startpage.pstpl or in endpage.pstpl. You can remove the {TEMPLATEURL}/template.js line and you have to replace with {TEMPLATEJS} to update a personal template.
<center>[[File:File Control Section.png|center]]</center>


==The File Control Section==


In the "file control" window on the left, you can click on one of the template files that is used to compile the page. The HTML code for that file will then appear in the "Now editing" window in the center. If the template is editable (determined by directory permissions) you can then make any changes and save them.
In het gedeelte "Andere bestanden" worden alle andere bestanden in de sjabloonmap getoond. Aan de rechterzijde kun je '''plaatjes of andere bestanden uploaden om te gebruiken in het sjabloon'''.  


The "Other Files" window shows a list of all other files in the template directory. You can use the right side to '''upload and select image files (your pics, logos,...) or other files needed to create your template'''. Note: Instead of a link directly to each picture in your template you can use the field string {TEMPLATEURL}.  So instead of:


<syntaxhighlight lang="php" enclose="div">img src='/limesurvey/templates/yourtemplate/mypicture.jpg'</syntaxhighlight> You can use:
In plaats van voor elke afbeelding een link te gebruiken kun je ook telkens de variabele {TEMPLATEURL} gebruiken. Dus, in plaats van:


<syntaxhighlight lang="php" enclose="div">img src='{TEMPLATEURL}mypicture.jpg'</syntaxhighlight>
<syntaxhighlight lang="html4strict">img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'</syntaxhighlight>
Je kunt gebruiken {{NewIn/nl|2.50}}:
<syntaxhighlight lang="html4strict">img src='{TEMPLATEURL}files/mypicture.jpg'</syntaxhighlight>


A "sample" of the template page you are editing will be visible at the bottom of the screen. There is no way to to delete a template from the template editor. This must be done by accessing the underlying directory and deleting the file there.
Gebruik in een LimeSurvey versie ouder dan 2.50:
<syntaxhighlight lang="html4strict">img src='{TEMPLATEURL}mypicture.jpg'</syntaxhighlight>


<div class="simplebox">'''Note:''' The shipped templates cannot be edited using the Template Editor and should never be changed. If you want to modify them, create a copy first and modify the copy.</div>
Een voorvertoning van het sjabloon wordt ondertussen onderin het scherm getoond. Er is geen mogelijkheid om binnen LimeSurvey een sjabloonbestand fysiek te verwijderen: dat moet handmatig via het bestandsbeheer van de server. Test het sjabloon ook met verschillende schermgroottes.


==Location of template files==
<div class="simplebox">'''NB:''' de meegeleverde sjablonen kunnen niet gewijzigd worden met de Sjablooneditor. Als je deze wilt wijzigen, maak dan eerst een kopie, en wijzig de kopie.</div>


LimeSurvey stores each of the 'standard' templates in their own distinct sub-directory within the /templates directory that is kept in the public directory with the other LimeSurvey public files. Customized user templates are stored in the /upload/templates directory.
===Locatie sjabloonbestanden===


To create a new template, use the according icon in the template editor.
LimeSurvey slaat het sjabloon op in een submap binnen de map ''/templates'', die weer onderdeel uitmaakt van alle publieke bestanden van LimeSurvey. Aangepaste (gebruikers)sjablonen worden in de map ''/upload/templates'' geplaatst.


There should ALWAYS be a "default" directory in the templates directory. This template is used by default and as a fall-back if a template folder doesn't exist, or can't be found. The "default" directory comes with the package.
Er moet ALTIJD een map "default" in de map templates staan. Deze wordt gebruikt indien het gekozen sjabloon niet (meer) bestaat. Deze map is aanwezig bij de installatie.


You can use any image files that you upload into the template management area with syntax like this:
Je kunt geüploade plaatjes  als volgt gebruiken:


<syntaxhighlight lang="php" enclose="div">{TEMPLATEURL}filename.xyz</syntaxhighlight>
<syntaxhighlight lang="php">{TEMPLATEURL}filename.xyz</syntaxhighlight>


=Styling questions with CSS=
==Opmaak vragen==


Styling of questions in CSS has become much easier. Each question type now has a unique class. Mandatory question's also have an additional mandatory class. For example, for a non-mandatory question:
Het toevoegen van stijlen aan vragen is eenvoudig: elk vraagtype heeft zijn eigen klasse. Verplichte vragen hebben daarbij een aanvullende verplicht-klasse. Voorbeeld van een optionele vraag:


<syntaxhighlight lang="php" enclose="div"><div id="question5" class="gender">
<syntaxhighlight lang="html4strict"><div id="question5" class="gender">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question is mandatory
en bij een verplichte vraag:


<syntaxhighlight lang="php" enclose="div"><div id="question5" class="gender mandatory">
<syntaxhighlight lang="html4strict"><div id="question5" class="gender mandatory">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question is mandatory but the user didn't answer it or if there is validation on a question
en als de verplichte vraag niet ingevuld wordt of niet door de validatie komt:


<syntaxhighlight lang="php" enclose="div"><div id="question5" class="gender mandatory input-error">
<syntaxhighlight lang="html4strict"><div id="question5" class="gender mandatory input-error">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question has validation applied but the user hasn't answered correctly
en als de vraag niet goed beantwoordt wordt:


<syntaxhighlight lang="php" enclose="div"><div id="question6" class="text-short input-error">
<syntaxhighlight lang="html4strict"><div id="question6" class="text-short input-error">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


==The full list of question classes==
==Globale klassen voor vragen==
 
Deze klassen kunnen door elk vraagtype gebruikt worden, een vraagtype kan één of meerdere klassen gebruiken.


{|
{| class="wikitable alternance"
|'''Question Type'''||'''Question Class'''||'''Question ID'''
|+ Globale klassen
|-
! scope="col" | Naam klasse
! scope="col" | Onderdeel
! scope="col" | Vraagtype
! scope="col" | Voorbeeld
! scope="col" | Opmerking
|-
! scope="row" | .question {{ObsoleteIn/nl|30}}
| Elk vraag blok
| Elk vraagtype
|&lt;p class="question">, &lt;ul class="question">, &lt;table class="question">
|-
! scope="row" | .ls-answers {{NewIn/nl|3.0}}
|  Elk vraag blok
|  Elk vraagtype
|&lt;div class="ls-answers ">, &lt;ul class="ls-answers ">, &lt;table class="ls-answers">
|
|-
! scope="row" | .subquestions-list
| Lijst subvragen
| Meerkeuzevragen, array vragen
| &lt;ul class="subquestions-list">, &lt;table class="subquestions-list">
| of .questions-list
|-
! scope="row" | .answers-list
| Lijst antwoorden
| Enkelekeuze, array, Meerdere teksten
| &lt;ul class="answers-list">, &lt;table class="answers-list">
|
|-
! scope="row" | .answer-item
| Het antwoorddeel: een antwoord
| Enkelekeuze, array, Meerdere teksten
| &lt;li class="answer-item">, &lt;td class="answer-item">
|
|-
! scope="row" | .noanswer-item
| Het antwoorddeel voor geen antwoord
| Enkelekeuze, array
| &lt;li class="noanswer-item">, &lt;td class="noanswer-item">
| Geen antwoord is ook een antwoord, ze hebben 2 klassen noanswer-item en answer-item
|-
! scope="row" | .question-item
| Het vraagdeel: een vraag
| Meerdere teksten, array
| &lt;li class="question-item">, &lt;tr class="question-item">
| Sommige antwoorden zijn ook vragen, dan hebben we er veel met class="question-item answer-item"
|-
! scope="row" | .checkbox-list
| Een lijst checkboxen
| Meerkeuze, array getallen (checkbox)
| &lt;ul class="checkbox-list">, &lt;tr class="checkbox-list">
| Sommige vraagtypes hebben meerdere lijstenclass: zoals checkbox met opmerkingen: class="checkbox-list text-list"
|-
! scope="row" | .checkbox-array  {{NewIn/nl|3.0}}
| Een array van checkboxen
| Array (getallen) met checkbox optie
| &lt;table class="checkbox-list">
|  
|-
|-
|5 point choice||.choice-5-pt-radio||5
! scope="row" | .checkbox-item
| Het antwoorddeel met een checkbox
| Meerkeuze, array getallen (checkbox)
| &lt;li class="checkbox-item">, &lt;td class="checkbox-item">
|
|-
|-
|Array (10 point choice)||.array-10-pt||B
! scope="row" | .radio-list
| Een lijst radioknoppen
| Enkelekeuze, array (elke regel)
| &lt;ul class="radio-list">, &lt;tr class="radio-list">
|
|-
|-
|Array (5 point choice)||.array-5-pt||A
! scope="row" | .radio-array {{NewIn/nl|3.0}}
| Array van radioknoppen
| Array vraagtype
| &lt;table class="radio-array">
|
|-
|-
|Array (Flexible Labels) dual scale||.array-flexible-duel-scale ||1
! scope="row" | .radio-item
| Het antwoorddeel met een radioknop
| Enkelekeuze, array
| &lt;li class="radio-item">, <td class="radio-item">
|
|-
|-
|Array (Increase, Same, Decrease)||.array-increase-same-decrease||E
! scope="row" | .text-list
| Een lijst tekstinvoer
| Meerdere teksten, array teksten
| &lt;ul class="text-list">, &lt;tr class="text-list">
|
|-
|-
|Array (Multi Flexible) (Numbers)||.array-multi-flexi ||:
! scope="row" | .text-item
| Het antwoorddeel van tekstinvoer
| Meerdere teksten, array teksten
| &lt;li class="text-item">, <td class="text-item">
|
|-
|-
|Array (Multi Flexible) (Text)||.array-multi-flexi-text||;
! scope="row" | .numeric-list
| Een lijst met tekstinvoer met alleen numerieke antwoorden (elke rij)
| Meerdere getallen, Array getallen
| &lt;ul class="text-list numeric-list">, &lt;tr class="text-list numeric-list">
|
|-
|-
|Array (Yes/No/Uncertain)||.array-yes-uncertain-no||C
! scope="row" | .number-list
| Een lijst met tekstinvoer met alleen numerieke antwoorden (elke rij)
| Meerdere getallen, Array getallen
| &lt;ul class="text-list numeric-list">, &lt;tr class="text-list numeric-list">
|
|-
|-
|Array (flexible labels)||.array-flexible-row ||F
! scope="row" | .number-array  {{NewIn/nl|3.0}}
| Het antwoorddeel van numerieke invoer
| Array getallen
| &lt;table class="number-array">
|
|-
|-
|Array (flexible labels) by column||.array-flexible-column||H
! scope="row" | .select-list {{ObsoleteIn/nl|2.50}}
| Een selectie lijst
| Array getallen, dubbele schaal
| &lt;table class="select-list">
|
|-
|-
|Boilerplate question||.boilerplate||X
! scope="row" | .dropdown-list  {{NewIn/nl|2.50}}
| Een selectie lijst
| Array getallen, Dubbele schaal (select) (elke rij)
| &lt;table class="dropdown-list">
|
|-
|-
|Date||.date||D
! scope="row" | .dropdown-array  {{NewIn/nl|3.0}}
| Een dropdownlijst
| Array getallen, Dubbele schaal (select)
| &lt;table class="dropdown-array">
|
|-
|-
|Gender||.gender||G
! scope="row" | .select-item  {{ObsoleteIn/nl|2.50}}
| Het antwoorddeel van een selectie
| Array getallen, dubbele schaal, enkelekeuze met  selectie
| &lt;p class="select-item">, &lt;td class="select-item">
|
|-
|-
|Huge free text||.text-huge||U
! scope="row" | .dropdown-item  {{NewIn/nl|2.50}}
| Het antwoorddeel van een select
| Array getallen, Dubbele schaal (select), Enkelekeuze met select
| &lt;p class="dropdown-item">, &lt;td class="dropdown-item">
|
|-
|-
|Language switch||.language||I
! scope="row" | .hide  {{ObsoleteIn/nl|3.0}}
| Gebruikt voor toegankelijkheid: verborgen met CSS maar gelezen met screenreader. Vanaf 2.50 : gebruik sr-only via bootstrap
| Kort vrije tekst
| &lt;label class="hide">
| Kan voor andere doelen gebruikt worden
|-
|-
|List (dropdown)||.list-dropdown||!
|-
|-
|List (flexible labels) (dropdown)||.list-dropdown-flexible||W
! scope="row" | .ls-js-hidden {{NewIn/nl|3.0}}
| Gebruikt voor te verbergen deel als JavaScript is actief
| Bijv. knop
| &lt;div class="ls-js-hidden">
| Kan in sjabloon gebruikt worden
|-
|-
|List (flexible labels) (radio)||.list-radio-flexible||Z
! scope="row" | .ls-js-hidden-sr {{NewIn/nl|3.0}}
| Gebruikt voor toegankelijkheid: verborgen bij JS actief, getoond bij  screenreader
| Bijv. knop
| &lt;a class="ls-js-hidden-sr">
| Button
|-
|-
|List (radio)||.list-radio||L
! scope="row" | .ls-no-js-hidden {{NewIn/nl|3.0}}
| Gebruikt voor te verbergen deel indien JS niet actief
| Link
| &lt;a class="ls-no-js-hidden">
|  
|-
|-
|List with comment||.list-with-comment||O
! scope="row" | .ls-label-xs-visibility {{NewIn/nl|3.0}}
| Label getoond in klein scherm (zonder extra tabel) en in screenreader
| label
| &lt;label class="ls-no-js-hidden">
| Gebruikt voor label in tabel met array vraagtype
|-
|-
|Long free text||.text-long||T
! scope="row" | .ls-input-group-extra {{NewIn/nl|3.0}}
| Gebruik als bootstrap input-group-addon, maar zonder border en background.
| right suffix
| &lt;div class="ls-input-group-extra">
| Gebruik voor right en left suffix (globaal)
|-
|-
|Multiple numerical input||.numeric-multi||K
! scope="row" | .dontread
| Gebruikt voor toegankelijkheid: niet te lezen met screenreader
| Array
| &lt;th class="dontread">
|
|-
|-
|Multiple options||.multiple-opt||M
! scope="row" | .checkbox {{ObsoleteIn/nl|3.0}}
| input[type=checkbox]
| Vraag met checkbox
| &lt;input type="checkbox" class="checkbox">
| Alleen voor oudere browsers nodig
|-
|-
|Multiple options with comments||.multiple-opt-comments||P
! scope="row" | .radio {{ObsoleteIn/nl|3.0}}
| input[type=radio]
| Vraag met radioknop
| &lt;input type="radio" class="radio">
| Alleen voor oudere browsers nodig
|-
|-
|Multiple short text||.multiple-short-txt||Q
! scope="row" | .text
| input[type=text]
| Vraag met invoertekst, of textarea
| &lt;textarea class="text">
|
|-
|-
|Numerical input||.numeric||N
! scope="row" | .answertext
| Array
| Antwoorddeel van array
| &lt;th class="answertext">
|
|-
|-
|Ranking||.ranking||R
! scope="row" | .col-answers
| Array
| Kolom van antwoorden
| &lt;col class="col-answers">
|
|-
|-
|Short free text||.text-short||S
! scope="row" | .odd .even  {{ObsoleteIn/nl|3.0}}
| Array
| Afwisseling voor kolom
| &lt;col class="odd">
|
|-
|-
|Yes/No||.yes-no||Y
! scope="row" | .array1 .array2  {{ObsoleteIn/nl|3.0}}
| Array
| Afwisseling voor regel
| &lt;tr class="array1">
|
|-
|-
! scope="row" | .ls-odd .ls-even  {{NewIn/nl|3.0}}
| Array
| Afwisseling voor subvraag en Y-as
| &lt;tr class="ls-odd">
|
|
|}
|}


==The full list of validation classes==
====Voorbeelden van vragen met klassen====
 
<div class="simplebox">Note:  Prior to 1.92, only .mandatory and .input-error classes were available.</div>
 
These apply to the help and/or validation tip messages so that each type can be individually styled.
 
The .hide-tip option and .input-error options, by default, interact so that you can have validation tips start hidden, but appear when there validation errors, and disappear again when those errors are rectified.
 
All of these are designed to eliminate the need for pop-up alert messages.  Instead, tips can appear/disappear as needed, and are color-coded to indicate whether the answers pass the validation criteria.


Furthermore, when you first visit a page that has unmet validation criteria, you can color-code the tips in a pleasing color to show which validation criteria have not been med; then re-display the page using a harsher color if the person submits the page with lingering validation errors.
'''Kort vrije tekst vraagtype:'''<source lang="html4strict">
<p class="question answer-item text-item ">
<label class="hide label" for="answerSGQA">Answer</label><input type="text" value="" id="answerSGQA" name="SGQA" size="50" class="text  empty">
</p>
</source>
'''Meerdere korte vrije teksten vraagtype'''<source lang="html4strict">
<ul class="subquestions-list questions-list text-list">
  <li class="question-item answer-item text-item" id="javatbdSGQA">
    <label for="answerSGQA">Some example subquestion</label>
    <span><input type="text" value="" id="answerSGQA" name="SGQA" size="20" class="text empty"></span>
  </li>
</ul>
</source>
'''Array vraagtype'''<source lang="html4strict">
<table class="question subquestion-list questions-list ">
<caption class="hide read">Some explanation for accessibility.</caption>
<colgroup class="col-responses">
<col width="50%" class="col-answers">
<col width="25%" class="odd">
<col width="13.3%" class="col-no-answer even">
</colgroup>
<thead>
<tr class="array1 dontread">
<td>&nbsp;</td>
<th>1</th>
<th>No answer</th>
</tr>
</thead>
<tbody>
<tr class="array2 answers-list radio-list" id="javatbdSGQ">
<th width="20%" class="answertext">Some example subquestion
</th>
<td class="answer_cell_001 answer-item radio-item">
<label for="answerSGQA" class="hide read">1</label>
<input type="radio" value="1" id="answerSGQA" name="SGQA" class="radio">
</td>
<td class="answer-item radio-item noanswer-item">
<label for="answerSGQA" class="hide read">No answer</label>
<input type="radio" value="" id="answerSGQA" name="SGQA" class="radio">
</td>
</tr>
</tbody>
</table>
</source>
===Alle klassen van de vraagtypes===


{|
{|
|'''Purpose'''||'''CSS Class'''||'''Description'''
|'''Vraagtype'''||'''Klasse'''||'''ID'''
|-
|5-puntskeuze||.choice-5-pt-radio||5
|-
|Array (10 punten)||.array-10-pt||B
|-
|Array (5 punten)||.array-5-pt||A
|-
|Array Dubbele schaal||.array-flexible-duel-scale ||1
|-
|Array (Meer, gelijk, Minder)||.array-increase-same-decrease||E
|-
|Array (getallen)||.array-multi-flexi ||:
|-
|Array (teksten)||.array-multi-flexi-text||;
|-
|-
|Mandatory||.mandatory||the question is mandatory
|Array (Ja/Nee/Weet niet)||.array-yes-uncertain-no||C
|-
|-
|User input error||.input-error||the question had at least one validation error
|Array ||.array-flexible-row ||F
|-
|-
|Hide Tip||.hide-tip||added if you use the hide_tip option
|Array per kolom||.array-flexible-column||H
|-
|-
|Num answers||.em_num_answers||for for min_answers and max_answers
|Boilerplaat ||.boilerplate||X
|-
|-
|Value range||.em_value_range||for min/max_num_value_n and multiflexible_min/max
|Datum||.date||D
|-
|-
|Sum range||.em_sum_range||for min/max/equals_num_value
|Vergelijking||.equation||*
|-
|-
|Regex validation||.em_regex_validation||for regular-expression validation of the question
|Geslacht||.gender||G
|-
|-
|Question-level validation function||.em_q_fn_validation||for the em_validation_q option
|Extra lange vrije tekst||.text-huge||U
|-
|-
|Subquestion-level validation function||.em_sq_fn_validation||for the em_validation_sq option
|Taalkeuze||.language||I
|-
|-
|Other comment mandatory||.em_other_comment_mandatory||for other_comment_mandatory option - shows when "other" is selected but associated comment is missing.
|Lijst (Dropdown)||.list-dropdown||!
|-
|Lijst (Radioknoppen)||.list-radio||L
|-
|Lijst met commentaar||.list-with-comment||O
|-
|Lang vrije tekst||.text-long||T
|-
|Meervoudige numerieke invoer||.numeric-multi||K
|-
|Meerkeuzevraag||.multiple-opt||M
|-
|Meerkeuzevraag met opmerkingen||.multiple-opt-comments||P
|-
|Meerdere korte vrije teksten||.multiple-short-txt||Q
|-
|Numerieke invoer||.numeric||N
|-
|Rangschikken||.ranking||R
|-
|Kort vrije tekst||.text-short||S
|-
|Ja/Nee||.yes-no||Y
|-
|-
|
|
|}
|}


==Importing styles into your custom template==
===De volledige lijst met validatieklassen===


The custom question styles are near the bottom of each template's CSS file and start with:<syntaxhighlight lang="php" enclose="div">/* <strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike>----
<div class="simplebox">NB: Voor versie 1.92 waren alleen .mandatory en .input-error beschikbaar.</div>


  START: Question styles  <strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike><strike>-</strike> */</syntaxhighlight>
Deze klassen kunnen gebruikt worden om de stijl van hulp- en/of validatiemeldingen te wijzigen.


If you're styling your own custom template, You should be able to copy everything after the above from templates/default/template.css (for tables based layouts) or /templates/limespired/template.css (for CSS based layouts) into your own style sheet without any impact on your other styles.
De .hide-tip en .input-error opties staan standaard op verborgen ("hidden"), maar worden getoond ("display") als er fouten optreden, en worden weer verborgen als de fouten zijn gecorrigeerd.


==Internet Explorer conditional style sheets==
Zo wordt voorkomen dat er pop-ups getoond worden voor fouten. In plaats daarvan verschijnen/verdwijnen de mededelingen, ze kunnen van kleur voorzien worden afhankelijk van de fout.


Because of the marked discrepancies in rendering between IE6, IE7 and most other browsers, there are special IE conditional style sheets included for each template.
Ook kun je eerst een vriendelijk kleurschema gebruiken als de deelnemer meer informatie nodig heeft. Daarna kun je de kleuren feller maken als de deelnemer geen juiste waarden invoert.


<syntaxhighlight lang="css" enclose="div">
{|
/* -------------------------------------------------
|'''Doel'''||'''CSS Klasse'''||'''Beschrijving'''
  START: Question styles  ------------------------- */
|-
</syntaxhighlight>
|Mandatory||.mandatory||de vraag is verplicht
 
|-
You should include the above code within your '''startpage.pstpl''' and copies of both the IE style sheets from either /templates/default/ or /templates/limespired for Tables base layout and CSS based layout respectively.
|User input error||.input-error||er is minstens een validatiefout
 
|-
<div class="simplebox">'''Note:''' If you copy the styles into your own style sheet you will almost certainly need to tweak them.</div>
|Hide Tip||.hide-tip||ingevuld als je de hide_tip optie gebruikt
|-
|standaardtype||.em_default||voor standaard zetten tip ( numerieke waarde enz …)
|-
|Num answers||.em_num_answers||voor min_answers en max_answers
|-
|Value range||.em_value_range||voor min/max_num_value_n en multiflexible_min/max
|-
|Sum range||.em_sum_range||voor min/max/equals_num_value
|-
|Regex validation||.em_regex_validation||voor reguliere-expressie validatie van de vraag
|-
|Question-level validation function||.em_q_fn_validation||voor de em_validation_q optie
|-
|Subquestion-level validation function||.em_sq_fn_validation||voor de em_validation_sq optie
|-
|Other comment mandatory||.em_other_comment_mandatory||voor de  other_comment_mandatory optie, wordt toegevoegd als "anders" geselecteerd is maar het begeleidend commentaar niet ingevuld is.
|-
|
|}


===Alternative solution for Internet explorer===
===Stijlen importeren in je aangepaste sjabloon===


You can put conditional class for body in startpage.pstpl, and use this class in your template.css
De aangepaste stijlen voor vragen staan tegen het eind van het CSS-bestand van de sjabloon, en starten met:<syntaxhighlight lang="php">/* --------------------------- START: Question styles  ------------------------------ */</syntaxhighlight>


<syntaxhighlight lang="php" enclose="div">
Mocht je een eigen sjabloon willen wijzigen, dan moet je eerst alle tekst onder dit commentaar ''templates/default/template.css'' (voor tabel-gebaseerde layouts) of ''template/limespired/template.css'' (voor CSS-gebaseerde layouts) in je eigen bestand kopiëren.


===Conditionele stylesheets voor Internet Explorer===


Omdat IE6 en IE7 qua opbouw van de webpagina behoorlijk afwijken van de rest van de browsers zijn er speciale conditionele stylesheets aanwezig om sjablonen goed te kunnen tonen.


<source lang="html4strict">
<!--[if IE]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_all-versions.css" />
<![endif]-->
<!--[if lt IE 7]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_older-than-7.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="{TEMPLATEURL}ie_fix_8.css" />
<![endif]-->
</source>


Kopieer de bovenstaande code in jouw '''startpage.pstpl''', en kopieer de beide IE-stylesheets van ofwel ''/templates/default'' of wel ''/templates/limespired'', afhankelijk van je lay-out.


<div class="simplebox">'''Opmerking:''' als je deze stijlen in je eigen stylesheet verwerkt zul je ze vast en zeker moeten aanpassen.</div>


====Alternatieve oplossing voor Internet Explorer====


<body id="body" class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT}"></syntaxhighlight>
Je kunt ook de conditionele klasse in body opnemen (binnen startpage.pstpl) en deze klasse gebruiken in jouw template.css. Deze methode wordt gebruikt in het sjabloon citronade {{ObsoleteIn/nl|2.06}}. Toevoegen van een js / no-js klasse om een JavaScript / geen JavaScript systeem te hebben.


And in template.css use
<source lang="html4strict"><!--[if lt IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie6 ielt7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 8 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie8 ielt9  no-js"> <![endif]-->
<!--[if IE 9 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie9 no-js"> <![endif]-->
<!--[if gt IE 9]><!--><body id="body" class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} no-js"><!--<![endif]-->
<script type='text/javascript'>/*<![CDATA[*/(function(H){ H.className=H.className.replace(/\bno-js\b/,'js') })(document.getElementsByTagName('body')[0]);/*]]>*/</script></source>


<syntaxhighlight lang="php" enclose="div">.ie6{/*specific for internet explorer */}
Gebruik in template.css:


.ie{/*specific for all internet explorer */}</syntaxhighlight>
<source lang="css">.ie6{/*Voor Internet Explorer 6*/}
.ielt8{/*Voor Internet Explorer 6 en 7*/}
.ie{/*Voor alle versies Internet Explorer */}</source>


You can see this alternative in citronade template.
=== Rechts-naar-links (RTL) talen en uitlijnen===


== Right-to-Left (RTL) Languages and justify==
De teksteditor in LimeSurvey kan RTL teksten opnemen. Maar als er volledig uitgelijnd wordt toont deze de tekst in de leesrichting van links naar rechts. Dit is alleen een beeldfout: tijdens de enquête wordt de tekst correct van rechts naar links afgebeeld.


The text editor within LimeSurvey is able to format RTL Text. However, the editor itself shows the RTL language in a left to right format when justified.  This is just an editor display issue. The RTL and justified question or text will display correctly from right to left, even when justified, in your survey or on preview.
===Sleutelwoorden===


==Keywords==
{{Deprecated/nl|3.0}}


Keywords within a template file get replaced by the current survey information. They are surrounded by curly brackets, for example: {SURVEYNAME}
Sleutelwoorden in een sjabloon worden vervangen door de informatie uit de enquête. Ze worden omsloten met accolades, voorbeeld: {SURVEYNAME}.


The following strings will be replaced by LimeSurvey when parsing the template file and presenting it to survey users. These field strings will work on almost every template except for the 'Completed Page'. (Most of these strings can be found in the common.php file. If it's not there, look in the index.php file.)
De volgende sleutelwoorden worden vervangen in het sjabloon tijdens de opbouw voor de deelnemers. Ze werken op bijna iedere pagina, behalve de Afsluitpagina. (De woorden kunnen ook in common.php opgezocht worden, of anders in index.php)


{|
{|class=wikitable
|'''::KEYWORD::'''|| '''TEMPLATE FILES::''' || '''::DESCRIPTION::'''
!'''Sleutelwoord'''!!'''Sjabloon bestand'''!!'''Omschrijving'''
|-
|-
|{SURVEYNAME}||All Files||The survey title
|{SURVEYNAME}||Alle||De titel van de enquête.
|-
|-
|{SURVEYDESCRIPTION}||All Files||The survey description
|{SURVEYDESCRIPTION}||Alle ||De beschrijving van de enquête.
|-
|-
|{WELCOME}||All files (mainly for welcome.pstpl)||The survey 'welcome' text
|{WELCOME}||Alle (meestal: welcome.pstpl)|| De welkomst tekst van de enquête.
|-
|-
|{PERCENTCOMPLETE}||survey.pstpl||A small graph showing the percentage of the survey completed
|{PERCENTCOMPLETE}||survey.pstpl||Een grafiekje met het percentage dat voltooid is.
|-
|-
|{GROUPNAME}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group name
|{GROUPNAME}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||De naam van de huidige groep.
|-
|-
|{GROUPDESCRIPTION}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group description
|{GROUPDESCRIPTION}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||De beschrijving van de huidige groep.
|-
|-
|{NUMBEROFQUESTIONS}||welcome.pstpl||Displays the total number of questions in the survey (just the number)
|{NUMBEROFQUESTIONS}||welcome.pstpl||Het aantal vragen in de enquête (alleen het getal).
|-
|-
|{THEREAREXQUESTIONS}||welcome.pstpl||Displays the sentence "There are X questions in this survey" - from the relevant language file. The X is replaced with the number of questions. Note that this will also work appropriately for singular or plural. If there is only 1 question, it will print "There is 1 question in this survey".
|{THEREAREXQUESTIONS}||welcome.pstpl||Toont "Er zijn X vragen in deze enquête." Op plaats van de X staat natuurlijk het aantal vragen. Als er maar een vraag is: "Er is 1 vraag in deze enquête".
|-
|-
|{CHECKJAVASCRIPT}||All files (mainly for welcome.pstpl)||Warning message when end-user browser have javascript disabled
|{CHECKJAVASCRIPT}||Alle (meestal: welcome.pstpl)||Waarschuwing als JavaScript door gebruiker is uitgeschakeld.
|-
|-
|{QUESTION}||Question.pstpl||('''Has been superseeded but the {QUESTION_...} keywords as of LS1.87''') Displays the current question text (The format of {QUESTION} can customised by editing 'question_start.pstpl') Use the following: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE} and {QUESTION_INPUT_ERROR_CLASS} and appropriate wrapping HTML instead of {QUESTION})
|{QUESTION}||question.pstpl||('''Is verouderd sinds versie 1.87''') Toont de huidige vraagtekst. (Het formaat van {QUESTION} kan gewijzigd worden door 'question_start.pstpl' te wijzigen.) Gebruik het volgende: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE} en {QUESTION_INPUT_ERROR_CLASS} en de geschikte HTML voor inkapseling in plaats van {QUESTION}.
|-
|-
|{ANSWER}||question.pstpl, print_question.pstpl||presents the answer form for the current question
|{ANSWER}||question.pstpl, print_question.pstpl||het antwoordformulier voor de huidige vraag.
|-
|-
|{SGQ}||question.pstpl, question text||Can be used in the question text itself, to reference the input field of the question dynamically by displaying the Survey-Group-Question id for the current question. (as of svn build 9755)
|{SGQ}||question.pstpl, question text||Kan gebruikt worden in de vraagtekst zelf om te refereren aan het invoerveld van de vraag dynamisch door  het tonen van de Survey-Group-Question id van de huidige vraag (sinds versie build 9755).
|-
|-
|{QUESTIONHELP}||question.pstpl, print_question.pstpl||Displays help text (predefined tip for question type) for the current question
|{QUESTIONHELP}||question.pstpl, print_question.pstpl||Toont de helptekst (voorgedefinieerd per vraagtype) van de huidige vraag.
|-
|-
|{QUESTION_CLASS}||question.pstpl, print_question.pstpl||unique class for each question type. (To be included in the question's wrapping tag.)
|{QUESTION_CLASS}||question.pstpl, print_question.pstpl||Unieke klasse voor elk vraagtype. (Wordt toegevoegd in de tags om de vraag heen.)
|-
|-
|{QUESTION_CODE}||question.pstpl, print_question.pstpl||Displays the current question code
|{QUESTION_CODE}||question.pstpl, print_question.pstpl||Toont de huidige vraagcode.
|-
|-
|{QUESTION_ESSENTIALS}||question.pstpl||the question ID and (if a question is conditional), 'style="display:none;"'. (To be included in the question's wrapping tag.)
|{QUESTION_ESSENTIALS}||question.pstpl||De id van de vraag en als een vraag conditioneel is: 'style="display:none;"'. (Wordt toegevoegd in de tags om de vraag heen.)
|-
|-
|{QUESTION_HELP}||question.pstp, question_start.pstpl||Displays the user defined help text for the current question
|{QUESTION_HELP}||question.pstp, question_start.pstpl||Toont de door de ontwerper van de enquête gemaakte helptekst voor de huidige vraag.
|-
|-
|{QUESTION_TYPE_HELP}||print_question.pstp||Displays the user defined help text for the current question
|{QUESTION_TYPE_HELP}||print_question.pstp||Toont de door de ontwerper van de enquête gemaakte helptekst voor de huidige vraag.
|-
|-
|{QUESTION_INPUT_ERROR_CLASS}||question.pstp, question_start.pstpl||Provides a class if there was user input error
|{QUESTION_INPUT_ERROR_CLASS}||question.pstp, question_start.pstpl||Geeft een klasse bij een invoerfout.
|-
|-
|{QUESTION_ID}||print_question.pstp||Provides a unique ID for each question to allow styling for specific questions
|{QUESTION_ID}||print_question.pstp||Geeft een unieke ID voor elke vraag, hierdoor kunnen vragen specifiek worden opgemaakt.
|-
|-
|{QUESTION_TEXT}||question.pstp, print_question.pstp, question_start.pstpl||Displays the text for the current question
|{QUESTION_TEXT}||question.pstp, print_question.pstp, question_start.pstpl||Toont de huidige tekstvraag.
|-
|-
|{QUESTION_MANDATORY}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' text for the current question
|{QUESTION_MANDATORY}||question.pstp, print_question.pstp, question_start.pstpl||Toont de vertaalde 'Mandatory' tekst voor de huidige vraag.
|-
|-
|{QUESTION_MAN_CLASS}||question.pstpl, print_question.pstpl||class if a question is mandatory. (To be included in the question's wrapping tag.)
|{QUESTION_MAN_CLASS}||question.pstpl, print_question.pstpl||Klasse als een vraag verplicht is. (Wordt toegevoegd in de tags om de vraag heen.)
|-
|-
|{QUESTION_MAN_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' help message text for the current question
|{QUESTION_MAN_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Toont de vertaalde 'Mandatory' tekst voor de huidige vraag.
|-
|-
|{QUESTION_NUMBER}||print_question.pstpl||Incremental count of questions.
|{QUESTION_NUMBER}||print_question.pstpl||Teller van het aantal vragen (lopend).
|-
|-
|{QUESTION_VALID_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated valid help message text for the current question
|{QUESTION_VALID_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Toont de vertaalde helptekst voor de huidige vraag.
|-
|-
|{QUESTION_SCENARIO}||print_question.pstp||Prints out the 'scenario' text for conditional questions.
|{QUESTION_SCENARIO}||print_question.pstp||Geeft de 'scenario' tekst voor conditionele vragen.
|-
|-
|{NAVIGATOR}||navigator.pstpl||Displays navigation buttons (next, prev, last)
|{NAVIGATOR}||navigator.pstpl||Toont de navigatie knoppen (Volgende, Vorige, Laatste).
|-
|-
|{CLEARALL}||All files (but intended for navigator.pstpl)||Displays the "Exit and Clear Results" link
|{CLEARALL}||Alle (bedoeld voor: navigator.pstpl)||Toont de "Stoppen wis alle ingevulde antwoorden" link.
|-
|-
|{SUBMITBUTTON}||submit.pstpl||Displays the final submit button
|{COMPLETED}||completed.pstpl||Toont de boodschap dat de enquête geheel is ingevuld en klaar voor verzending, kan worden aangepast door attribuut_1 en attribuut_2 te vullen.
|-
|-
|{COMPLETED}||completed.pstpl||Displays the 'completed' messagem for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{URL}||completed.pstpl||Toont de 'url' en 'url tekst'.
|-
|-
|{URL}||completed.pstpl||Displays the survey 'url' and 'url text'
|{PRIVACYMESSAGE}||privacy.pstpl||De privacy informatie wordt getoond als de enquête anoniem is. [[Translating LimeSurvey/nl|De tekst kan worden gewijzigd/vertaald]] in de taalbestanden. Je kunt ook handmatig de door jou gebruikte versie van het sjabloon privacy.pstpl wijzigen.
|-
|-
|{PRIVACY}||submit.pstpl||Displays privacy information when survey is anonymous
|{TEMPLATEURL}||Alle||De URL naar het huidige sjabloon (handig bij refereren aan afbeeldingen in je sjabloon).
|-
|-
|{PRIVACYMESSAGE}||privacy.pstpl||The privacy message is shown if you set your survey to be anonymous. [http://docs.limesurvey.org/tiki-index.php?page=LimeSurvey+1.x+Translating+LimeSurvey The text can be edited/translated] in the language files. This can also be changed manually by editing the privacy.pstpl template you wish to use.
|{SURVEYRESOURCESURL}||All Files||De URL naar de het geüploade bestanden van deze enquête, bruikbaar voor gebruik bij de link naar afbeeldingen in de enquête,
|-
|-
|{TEMPLATEURL}||All Files||The URL to the current template location (useful for referencing image files in your template)
|{SUBMITCOMPLETE}||endpage.pstpl||De boodschap (uit de taalbestanden) die aan de respondent toont dat de enquête ingevuld is en dat er op de knop "Verstuur" gedrukt moet worden.
|-
|-
|{SUBMITCOMPLETE}||endpage.pstpl||The statement (from the language files) that tells the user they have completed the survey, and to press the "Submit" button
|{SUBMITREVIEW}||survey.pstpl||De boodschap (uit de taalbestanden) die aan de respondent toont hoe ze de gegeven antwoorden kunnen bekijken en wijzigen.
|-
|-
|{SUBMITREVIEW}||survey.pstpl||The statement (from the language files) that tells the user they can review/change the answers they have made by clicking "<< prev"
|{SAVEDID}||Alle bestanden||Toont 'Response ID' van respondent
|-
|-
|{TOKEN:FIRSTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users first name from the tokens table
|{QUEXMLPDF}||Alle bestanden||Toont knop voor exporteren queXML PDF van enquête incl. al ingevulde antwoorden.
|-
|-
|{TOKEN:LASTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users last name from the tokens table***
|{TOKEN:FIRSTNAME}||Alle||***Als de enquête niet anoniem is - dan wordt dit vervangen door de voornaam van de respondent.***
|-
|-
|{TOKEN:EMAIL}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users email from the tokens table***
|{TOKEN:LASTNAME}||Alle||***Als de enquête niet anoniem is - dan wordt dit vervangen door de achternaam van de respondent.
|-
|-
|{TOKEN:ATTRIBUTE_1}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_1 from the tokens table***
|{TOKEN:EMAIL}||Alle||***Als de enquête niet anoniem is - dan wordt dit vervangen door het e-mailadres van de respondent.***
|-
|-
|{TOKEN:ATTRIBUTE_2}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_2 from the tokens table***
|{TOKEN:ATTRIBUTE_1}||Alle||***Als de enquête niet anoniem is - dan wordt dit vervangen door de attribuut_1 behorend bij de respondent.***
|-
|-
|{ANSWERSCLEARED}||Preferably in navigator.pstpl||The "Answers Cleared" statement from the language files
|{TOKEN:ATTRIBUTE_2}||Alle||***Als de enquête niet anoniem is - dan wordt dit vervangen door de attribuut_2 behorend bij de respondent.***
|-
|-
|{RESTART}||clearall.pstpl||URL to restart the survey
|{ANSWERSCLEARED}||Voorkeur: navigator.pstpl||De boodschap "Antwoorden verwijderd" uit de taalbestanden.
|-
|-
|{CLOSEWINDOW}||All Files (Preferably in navigator.pstpl)||URL to close current window
|{RESTART}||clearall.pstpl||URL om de enquête opnieuw te starten.
|-
|-
|{REGISTERERROR}||register.pstpl||Shows any error messages in the register page (ie: "You must include an email address")
|{REGISTERERROR}||register.pstpl||Toont foutmeldingen op de aanmeldingspagina (bijvoorbeeld: "Het e-mailadres dat u opgaf is ongeldig. Probeert u het nog eens.").
|-
|-
|{REGISTERMESSAGE1}||register.pstpl||The statement "You must be registered to complete this survey" from the language files
|{REGISTERMESSAGE1}||register.pstpl||De boodschap "Registratie is vereist om deel te nemen aan deze enquête." uit de taalbestanden.
|-
|-
|{REGISTERMESSAGE2}||register.pstpl||Details about registering from the language files
|{REGISTERMESSAGE2}||register.pstpl||Details over aanmelden uit de taalbestanden.
|-
|-
|{REGISTERFORM}||register.pstpl||The actual form for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{REGISTERFORM}||register.pstpl||Het actuele formulier voor aanmelding, wordt gewijzigd als attribuut_1 en attribuut_2 zijn gevuld.
|-
|-
|{SAVE}||Works suitable on navigator.pstpl||Displays the 'Save your responses so far' button to offer the user to save and come back later to continue the survey. If the Save option is deactivated in the survey properties the tag will not be shown and ignored.
|{SAVE}||Specifiek voor navigator.pstpl||Toont de knop 'Sla uw antwoorden tot nu toe op', zodat de respondent de enquête kan opslaan en later de rest kan invullen. Deze knop wordt alleen getoond als de opslaan optie ingeschakeld is.
|-
|-
|{LANGUAGECHANGER}||survey.pstpl||Displays a switch in multilingual surveys to change the question.
|{LANGUAGECHANGER}||survey.pstpl||Toont een optie om de vraag te wijzigen als de enquête in meerdere talen beschikbaar is.
|}
|}


==Input/Buttons==
===Invoervelden===
 
Each "input" type in a survey has been given its own class name, so that you can add CSS to your "startpage.pstpl" file, and have some control over the appearance of form buttons and inputs. These class names are as follows:
*'''submit''' (Submit Buttons)
*'''text''' (Text Inputs - for short free text, date and numerical type)
*'''answertext''' (Text of answers)
*'''radio''' (Radio Buttons)
*'''checkbox''' (Check Boxes)
*'''select''' (Select / List Boxes)
*'''textarea''' (Large text inputs - for long free text)
*'''clearall''' (The "Exit and Clear Survey" link)
*'''rank''' (The rank style question. Doesn't set the colour of the select box or the text boxes (these are set by relevant section above) but does allow changing of background colour, text colour and size etc for the rest of the ranking question)
*'''graph''' (The "percentage completed" graph table)
*'''innergraph''' (The table inside the graph table - this contains the 0% and 100% text. Use this for changing the size of this text
*'''question''' (General settings for any question that is displayed within a table. Generally you should use this to make sure that their font size and colour is the same as you have used elsewhere as a default)
*'''mandatory'''  (Mandatory questions)
*'''input-error''' (User input error - for if a user has made a mistake with a mandatory question or question with validation)
*'''array1''' and '''array2''' (These two styles are cycled when presenting the range of answers for an array type question. This allows you to set an alternating background colour for these question types. '''Array1''' is also used for the column headings in these question types)
*'''errormandatory''' (Sets the colour and style of the "This question is mandatory" error message)
*'''warningjs''' (Sets the colour and style of the warning message displayed if the participant's browser has javascript disabled)
 
There are also some elements that can be accessed using the ID of the element ('''#ID''' in CSS):
*'''surveycontact''' (The contact message shown on the start page)
*'''tokenmessage''' (used for messages inside the survey, e.g. the session expired error message)
 
An example of using these classes with style sheets can be found in the "bubblegum" template that comes with the LimeSurvey application.


Because you can edit all the HTML aspects, there's no reason to surround your templates with a <div class='new_name'> and then define a css for that new_name class.
Elk invoertype heeft een eigen klasse, hierdoor kun je in de CSS eigen opmaak voor knoppen en invoervelden toevoegen in je "startpage.pstpl". De klassen zijn:
*'''submit''' (submit knoppen)
*'''text''' (Tekst invoer - voor korte vrije tekst, datum en numerieke invoer)
*'''answertext''' (tekst van antwoorden)
*'''radio''' (radioknoppen)
*'''checkbox''' (checkboxen)
*'''select''' (select / lijst)
*'''textarea''' (lange tekst)
*'''clearall''' De "Stoppen, verwijder alle ingevulde antwoorden" link
*'''rank''' Het vraagtype ranking. Wijzig niet de kleur van de selectbox of de text boxes (die worden al eerder ingesteld), je kunt wel o.a. de background colour, text colour, size wijzigen voor de andere onderdelen.
*'''graph''' De "percentage voltooid" weergave.
*'''innergraph''' onderdeel van de graph met het percentage. Je kunt de kleur wijzigen.
*'''question''' Algemene instellingen voor elke vraag die in een tabel getoond wordt. Je kunt hier de font size en colour instellen, zodat je een standaardwaarde hebt.
*'''mandatory'''  Verplichte vragen.
*'''input-error''' Invoerfout van gebruiker - bijvoorbeeld: verplichte vraag of vraag met validatie.
*'''array1''' en '''array2''' Deze twee worden afgewisseld bij het tonen van het bereik van antwoorden bij array type vragen. Je kunt dan een verschillende background colour instellen. '''Array1''' wordt ook gebruikt voor de koppen bij de array type vragen.
*'''errormandatory''' Zet de kleur en stijl van de tekst: "Deze vraag is verplicht".
*'''warningjs''' Zet de kleur en stijl van de waarschuwing als de gebruiker JavaScript in de browser heeft uitgeschakeld.


==Styling the progress bar==
Er zijn ook onderdelen die op ID kunnen worden benaderd ('''#ID''' in CSS):
*'''surveycontact''' (De tekst over contact op de beginpagina)
*'''tokenmessage''' (gebruikt voor meldingen in de enquête, bijvoorbeeld: je sessie is verlopen.)


'''Before version 1.87:'''
Je kunt alle onderdelen van HTML wijzigen, er is dus geen reden om in je sjablonen een eigen <syntaxhighlight lang="php"><div class='new_name'></div></syntaxhighlight> toe te voegen en daarna een eigen class te gebruiken.


The chart.jpg file is a simple one pixel image file which is used to create the progress bar image in the 'PERCENTCOMPLETE' table. If the file does not exist, LimeSurvey will use the default 'maroon' coloured image in the public directory. If you want to create a bar to match your own colour scheme, then you should save the color in this file. Remember it should be a '''JPEG''' file, 1 pixel x 1 pixel, in the colour desired.
==Opmaak voortgangsmeter==


'''Version 1.87 and newer:'''
De opmaak van de voortgangsmeter kan bepaald worden met CSS.


The progress bar appearance can be modified with CSS.
Om de achtergrondkleur te wijzigen moet je aan het eind van het bestand custom.css toevoegen (voorbeeld voor het thema fruity):


To change the background colour of the bar, add something like the following to the end of your template.css file.
<syntaxhighlight lang="php">.fruity .progress-bar {
 
<syntaxhighlight lang="php" enclose="div">#progress-wrapper .ui-widget-header {
 background-color: #3300FF;
 background-color: #3300FF;
}</syntaxhighlight>
}</syntaxhighlight>


To change the border colour of the bar, add something like the following to the end of your template.css file.
Je kunt de kleur van de rand van de voortgangsmeter wijzigen in je bestand custom.css:


<syntaxhighlight lang="php" enclose="div">#progress-wrapper .ui-widget-content,
<syntaxhighlight lang="php">.fruity .progress-bar {
#progress-wrapper .ui-widget-header {
 border: 1px solid #FF0000;
 border: 1px solid #FF0000;
}</syntaxhighlight>
}</syntaxhighlight>


==Advanced Features Available to Developers==
==Extra functies voor ontwikkelaars==


Starting with version 0.99, LimeSurvey has integrated some user-made patches that allow for some special changes.  These very advanced features generally require changes to the underlying code base of LimeSurvey and should be done carefully so as not to introduce security holes.
Er zijn ook enkele uitbreidingen van gebruikers opgenomen in LimeSurvey. De geavanceerde mogelijkheden vereisen soms wijzigingen in de broncode en dienen dus zorgvuldig te worden gedaan!


===Basic CMS Integration support===
====Ondersteuning voor je eigen JavaScript====


<div class="simplebox">Deprecated: This function is not available anymore in version 2.0 or later</div>
Soms wil een gebruiker JavaScript op de enquête pagina's gebruiken, maar kan dat dan niet door de aanroep van '''checkconditions()''' in de BODY. Deze aanroep is vervangen door een JavaScript functie in de HEAD die controleert op de aanwezigheid van '''checkconditions()''' en '''template_onload()''' voor ze aan te roepen.  Hierdoor kan een ontwerper van sjablonen een eigen '''template_onload()''' functie in de HEAD maken.


To be able to integrate LimeSurvey into another CMS, use the following options in '''config.php''':
*Filter HTML op XSS - in Instellingen -> Beveiliging, zet "Filter HTML op XSS" op Nee.
*Plaats je script in een vraagbeschrijving of vraaggroepbeschrijving.


// Set $embedded to true and specify the header and footer functions if the survey is to be displayed embedded in a CMS
{{Note|Meer informatie [[Workarounds: Manipulating a survey at runtime using Javascript#How to use Script (eg. JavaScript etc.) in LimeSurvey|Gebruik JavaScript]].}}


<nowiki>
$embedded = false;
$embedded_inc = "";               // path to the header to include if any
$embedded_headerfunc = "";        // e.g. COM_siteHeader for geeklog
$embedded_footerfunc = "";        // e.g. COM_siteFooter for geeklog
</nowiki>


Set '''$embedded = true;''' to enable CMS-embedding. By using the '''$embedded_inc''' variable one can include their own '''.php''' files.  By setting '''$embedded_headerfunc''' or '''$embedded_footerfunc''', one can call functions from within included files that output the relevant headers or footers instead of LimeSurveys default ones.
==TIPS==


===Support for your own Javascript functions===
===Taalafhankelijkheden===


Some users may need to run Javascript on the survey pages, but calling '''checkconditions()''' in the BODY element made it impossible to do so.  This call has been replaced with a small JavaScript function in the HEAD that sniffs for the existence of '''checkconditions()''' and '''template_onload()''' before calling each.  This way a template author can create their own '''template_onload()''' function in the HEAD that replaces the default one.
Als je in een voettekst een regel wilt hebben met een helptekst die taalafhankelijk is, dan kun je in het pstl-bestand een regel optioneel tonen of verbergen afhankelijk van de taal. In  template.css kan de pseudo selector :lang gebruikt worden, maar om meer compatibel te zijn, gebruiken we enkele classes.


'''Version 1.87 and newer:'''
Een voorbeeld met een tekst in het Frans en het Engels in de voet, dus in endpage.pstpl:
*Disable XSS filter - in Global settings -> Security, set "Filter HTML for XSS" to No.
*Enter your script in the source of a question or group description.
*There are more details in the [http://docs.limesurvey.org/tiki-index.php?page=Workarounds%3A+Manipulating+a+survey+at+runtime+using+Javascript&structure;=English+Instructions+for+LimeSurvey#How_to_use_Script_eg._JavaScript_etc._in_LimeSurvey_ workaround section].


=Videos on Templates=
<syntaxhighlight lang="php"><div class="nl" lang="nl">Bel voor ondersteuning met telefoonnummer 000000</div>
 
This video will demonstrate the basic and advanced template functions that are available to all LimeSurvey users. This includes changing the appearance of certain forms and inserting custom graphics. Additionally, it will thoroughly walk you through on how to edit and preview specific page templates, importing/exporting templates, modify appearance of questions in the CSS, customizing survey description page, and completed page.
 
[http://youtu.be/Uk3FQyDTIY0 video - eigen sjabloon maken]
 
=Tips & Tricks=
 
==Some language specific element==
 
If you want to have some langage specific sentence in a survey, for example an help at end of each page, you can add in a .pstl file a sentence and hidding it for other langage. ANd hidding it in the template.css, we can use psuedo selector :lang, but for best compatibility, we use some class.
 
Example for a help sentence at bottom of the page, in french an english, put this on endpage.pstpl:
 
<syntaxhighlight lang="php" enclose="div"><div class="fr" lang="fr">Pour de l'aide en direct appelez le 000000</div>
<div class="en" lang="en">For some help, please call 000000</div></syntaxhighlight>
<div class="en" lang="en">For some help, please call 000000</div></syntaxhighlight>


ans in template.css
en in template.css:


<syntaxhighlight lang="php" enclose="div">.lang-fr .en{display:none}
<syntaxhighlight lang="php">.lang-fr .en{display:none}
.lang-en .fr{display:none}</syntaxhighlight>
.lang-en .fr{display:none}</syntaxhighlight>


You can use it to for other sentence in your question before 1.92 ( in 1.92, there are better solutions).
===Lay-out wijzigen van enquête pagina===
 
==Change the layout of the survey page==


When editing a template this template can be assigned to a single survey while the survey list page, which is shown at www.yourdomain.org/limesurveyinstallfolder, lists all your surveys.
Bij het wijzigen van een sjabloon kan het sjabloon aan een enquête gekoppeld worden. Je kunt het echter ook het standaardsjabloon maken als je wilt dat alle enquêtes het gebruiken (als de enquête-beheerder niet een ander sjabloon kiest).


To use your current template for this page you have change the according setting at the Global Settings screen; at older versions this change can be done by editing the $defaulttemplate setting at the config file: Copy this setting from config-defaults.php to config.php which overrides config-defaults.php and edit this setting to $defaulttemplate = 'yourtemplatename';
Om je huidige sjabloon ook voor deze pagina te gebruiken, moet je de bijbehorende instelling bij de Instellingen wijzigen. In oudere versies kan dit gedaan worden door de $defaulttemplate instelling te kopiëren uit config-defaults.php naar config.php, en wijzig het in <code lang="html">$defaulttemplate = 'yourtemplatename';</code>.


==Import/Export of templates: Mac users==
===Importeren/Exporteren van sjabloon : Mac gebruikers===


Mac users, please note: Mac OSX default archive utility may have problems with zip folders "generated on the fly".
<u>MAC-gebruikers</u> Mac OSX standaard archief utility kan problemen hebben met gegenereerde zip folders.


a work around is to unix'es unzip from the command line:
Een oplossing is om de unzip van Unix te gebruiken op de commandoregel:


$ unzip template.zip -d template
$ unzip template.zip -d template
Line 588: Line 883:
 inflating: ...
 inflating: ...


or scripts in their mac-compiled counterparts:
Een andere oplossing, met gecompileerde scripts:


http://homepage.mac.com/roger_jolly/software/
===Hetzelfde sjabloon gebruiken met een ander logo===


==Changing your templates traffic light from red to green==
Als je hetzelfde sjabloon voor alle enquêtes wilt gebruiken en alleen het logo per enquête wilt wijzigen, dan kun je de {SID} placeholder in het sjabloonbestand .pstpl gebruiken om naar een ander plaatje te refereren:


If you haven't already, set the admin directory to read/write/execute (777). The files within it, however, may be set to read/execute only (chmod 755).
<syntaxhighlight lang="php"><img src="{TEMPLATEURL}files/logoImage-{SID}.png"></syntaxhighlight>


GO to file directory ie file manager, find templates directory.
===Toon aangepast favicon===


1 change permission on eg"vallendar" (or any template of your choice) directory to read 777
Een favicon is de kleine afbeelding in je browser in de adresregel en naast je bladwijzers. Je kunt je eigen afbeelding gebruiken door:
#Een favicon aan te maken.
#Je noemt dit "favicon.ico" en zet het in de map '''template/files'''
#Voeg de volgende code toe in je '''startpage.pstpl''' voor de </head> tag.


2 voila! the red traffic light on "vallendar" is now green.
<syntaxhighlight lang="html4strict"><link rel="shortcut icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon">
<link rel="icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon"></syntaxhighlight>


3 NOTE: to restrict access for safety, when finished editing template files, change all templates files back to what they were eg 644
===Verschillend uiterlijk voor enquête/vraagpagina's===


==Replacing the help icon==
Als je wilt dat het uiterlijk van de pagina's afwisselt (dus om en om hetzelfde uiterlijk) kun je de '''.page-odd''' class in je CSS-bestand wijzigen.


When a question help text is shown then an help.gif image is used from the default template folder.
Voorbeeld standaardsjabloon in versie 1.91+:
 
You can replace this image by uploading a new help.gif, help.png or help.jpg in your custom template folder. It then will be automatically used instead of the default help icon.
 
==Replacing an existing logo==
 
'''Note''': Before uploading new logo delete previous one.
 
1. To edit logo go to &bdquo;<u>template.css</u>&rdquo;, you can find it here (see in screen):
 
[[File:1.PNG]]
 
2. Find and Click Search button, to find place where is logo style text.
 
[[File:2.PNG]]
 
3. Find in search <u>#logo</u> (It is logo design code)
 
[[File:3.PNG]]
 
4. Edit style file
 
You will see something like this code:
 
[[File:4.PNG]]
 
If you want change image just replace logo.gif to antoher image link. Like: (<u>logo.png</u>, <u>logo.jpg</u>, <u>logo.swf</u>).
 
If you want change image size just change, width and height (in pixels) like:
 
<syntaxhighlight lang="php" enclose="div">Width:100px; Height:100px;</syntaxhighlight>
 
==Adding your own logo==
 
1. Find and Open &bdquo;<u>startpage.pstpl</u>&rdquo; template file.
 
[[File:5.PNG]]
 
2. Write in &bdquo;<u>startpage.pstpl</u>&rdquo; this line:
 
<syntaxhighlight lang="php" enclose="div"><img id=&rdquo;page_logo&rdquo; src=&rdquo;{TEMPLATEURL}logo.png&rdquo;><br></syntaxhighlight> After <syntaxhighlight lang="php" enclose="div"><body ... ></syntaxhighlight> tag
 
[[File:6.PNG]]
 
3. To add logo go to &bdquo;<u>template.css</u>&rdquo;, you can find it here (see in screen):
 
[[File:1.PNG]]
 
3.1 Go to end of &bdquo;<u>template.css</u>&rdquo; style file.
 
3.2 Write in end:
 
'''If you want in left side:'''
 
<syntaxhighlight lang="php" enclose="div">#page_logo{
 
   float:left;


<syntaxhighlight lang="php">
.page-odd table.question-group {
 background-color: #D2F2D3;
}</syntaxhighlight>
}</syntaxhighlight>


'''If you want in right side:'''
Om dit omwisselen in het (default) sjabloon te voorkomen, moet je de voorkomens van ''.page-odd'' in template.css verwijderen.


<syntaxhighlight lang="php" enclose="div">#page_logo{
===Toevoegen verticale scheiding voor dubbele schaal array===


   float:right;
Om een verticale scheiding te maken bij een dubbele-schaal array kun je de volgende regels toevoegen aan je bestand '''template.css'''.


}</syntaxhighlight>
<syntaxhighlight lang="php">
table.question thead td.header_separator,
table.question tbody td.dual_scale_separator
{
   border-right:solid 1px #00A8E1;
}
</syntaxhighlight>


'''If you want in center:'''
header_separator wordt gebruikt als scheidingsteken in de header "td". De "dual_scale_separator" wordt gebruikt als scheidingsteken kolom in het dubbele-schaal array.


<syntaxhighlight lang="php" enclose="div">#page_logo{
===Eigen logo toevoegen in enquête-lijst===


   display: block;
# Open eerst de Thema-editor voor het betreffende thema. [[File:OpenThemeEditor.jpg]]
# We bevelen aan ons huidige beste thema te gebruiken :  fruity.
# Breidt het thema uit (Extend) en geef het een eigen naam. [[File:ExtendTheme.jpg]]
# Je kunt een logo uploaden. [[File:UploadFileTheme.jpg]]
# Selecteer het scherm`Enquêtelijst´ in het dropdownveld. [[File:OpenScreenSurveyList.jpg]]
# Selecteer `layout_survey_list.twig´ in het linkermenu. [[File:EditLayoutSurveyListTwig.jpg]]
# Ga in de editor naar regel 126 en pas het gemarkeerde gedeelte van de bestandsnaam dat je hebt geüpload aan. [[File:ChangeSurveyListHeaderImageEditor.jpg]]
# Sla je bestand op. [[File:ThemeEditorSaveChanges.jpg]]
# Wijzig het standaardthema naar je nieuwe thema. [[File:ChangeDefaultTheme.jpg]]


   margin-left: auto;
=== Lijn het logo uit op het midden van de enquêtepagina===
Dit voorbeeld is voor het sjabloon "extends_fruity". Voor andere sjablonen kan de CSS anders zijn.
# Log in als LimeSurvey-beheerder
# Blader naar de thema-editor: Configuratie > Thema's
# Zoek in de lijst naar "LimeSurvey Fruity Theme" en klik op de knop "Thema-editor"
# Klik op "custom.css" in de lijst met bestanden aan de linkerkant bijna onderaan de pagina
# Kopieer de volgende CSS in dat bestand en druk op "Wijzigingen opslaan"


   margin-right: auto;
<syntaxhighlight lang="css">
.navbar-fixed-top > div.navbar-header {
    width: 100% !important;
}


}</syntaxhighlight>
.navbar-fixed-top > div.navbar-header > div {
    width: 100% !important;
}


==Use the same template with different logos==
.navbar-fixed-top > div.navbar-header > div > img {
 
    margin: 0 auto 0 auto !important;
If you want to use the same template for all surveys and just want to change the logo for each survey, you can use the {SID} placeholder in the template .pstpl file and thereby refer to different images:
}
 
</syntaxhighlight>
<syntaxhighlight lang="php" enclose="div"><img src="{TEMPLATEURL}logoImage-{SID}.png"></syntaxhighlight>
 
==Remove the default help to all question (hide_tip)==
 
There are 2 solution to remove the default help, like a [[Advanced question settings|#hide_tip|hide_tip attribute]] but for all question and survey.
# you can remove the {QUESTIONHELP} and is container from the file question.pstl, but it can be a bad idea for screenreader.
# for the default template and some other , add this at the end of tempate.css
 
<syntaxhighlight lang="php" enclose="div">span.questionhelp{display:none;}</syntaxhighlight>
 
== Display custom favicon==
 
A favicon is the little icon you see in the browser's address bar, list of bookmarks or tab. You can display your own icon as follows:
#Create a favicon - google will find you lots of free favicon generators
#Name your new favicon "favicon.ico" and place it in your template directory
#Add the following code to your '''startpage.pstpl''' before the </head> tag
 
<syntaxhighlight lang="php" enclose="div"><link rel="shortcut icon" href="{TEMPLATEURL}favicon.ico" type="image/x-icon">


<link rel="icon" href="{TEMPLATEURL}favicon.ico" type="image/x-icon"></syntaxhighlight>


== Different appearance for survey-/question-pages==


(''Version 1.91 and newer'')
==Aangepaste vraag-views {{NewIn/nl|3.0}}==


If you want LimeSurvey to change the appearance of every second page (i.e. of even and odd survey pages) you can use '''.page-odd''' class in your css file to change the appearance of odd pages.
<div class="simplebox">'''NB:''' Dit is een tijdelijk functie die in de toekomst vervangen wordt door vraagplugins. De functie is standaard uitgeschakeld.</div>


example from default template of LimeSurvey 1.91+
Vanaf versie 2.5 kunt u sjabloonspecifieke aangepaste views aanmaken voor vragen en enkele onderliggende onderdelen. Dit is handig als u de HTML-lay-out van een bepaald vraagtype wilt wijzigen voor een of meer enquêtes.


<syntaxhighlight lang="php" enclose="div">
*Zoek in application/config/config.php naar 'config'=>array en voeg deze regel toe in het array : 'allow_templates_to_overwrite_views'=>1
*Zet in  /{your_template}/config.xml  "overwrite_question_views" op true
*Kopieer application/views/survey/* naar template/{your_view_directory}/survey/
*NB: je hoeft alleen de bestanden te kopiëren die je wilt wijzigen, de bestandsstructuur moet hetzelfde blijven als in application/views/survey/


.page-odd table.question-group {
==Aangepaste CSS of JavaScript gebruiken bij sjabloon==


 background-color: #D2F2D3;
Vanaf versie 2.5 kun je het bestand config.xml gebruiken voor het automatisch laden van een plugin.


}</syntaxhighlight>
*Plaats je bestanden in de map template /css of /scripts
*Voeg in  /{your_template}/config.xml, het pad naar de  <css> or <js> blocks, zoiets als:<syntaxhighlight lang="xml"><css>
<filename>css/jquery-ui-custom.css</filename>
<filename>css/bootstrap-slider.css</filename>


To '''not''' differentiate even and odd pages at the (default) template find all instances of ''.page-odd'' in template.css and remove those styles.
<filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
<filename>css/flat_and_modern.css</filename>


==Create a vertical separator  border for dual scale array==
<filename>css/template.css</filename>


To create a vertical separator border for a dual scale array you can add the following lines to your '''template.css'''-file.
<filename>css/myCustomPlugin.css</filename>
</css>
<js>
<filename>scripts/template.js</filename>
<filename>scripts/bootstrap-slider.js</filename>


<syntaxhighlight lang="php" enclose="div">
<filename>scripts/myCustomPlugin.js</filename>
table.question thead td.header_separator,
</js>
table.question tbody td.dual_scale_separator
{
   border-right:solid 1px #00A8E1;
}
</syntaxhighlight>
</syntaxhighlight>


header_separator is used to adress the separator for the header "td" and "dual_scale_separator" is used to adress the separator column in the dual scale array.
==Definitie classes (voor ontwikkelaars)==


==Hide the survey contact message shown on the start page/survey list==
===antwoordlijst===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|arrays/5punten || A || tr
|-
|arrays/10punten|| B|| tr
|-
|arrays/array || V || tr
|-
|arrays/kolom || H || tr en col
|-
|arrays/dubbele schaal || 1 || tr
|-
|arrays/meer,gelijk,minder || E || tr
|-
|arrays/ja,nee,weet niet|| K || tr
|-
|geslacht || g || div en ul
|-
|lijst met opmerkingen || O || div
|-
|rangschikking || R|| ul en div
|-
|ja nee || J || ul en div
|-
|rangschikking geavanceerd|| R|| ul en div
|-
|lijst radio || L || div
|-
|5puntskeuze || 5 || ul
|-
|meerkeuze || m || div
|-
|}


To hide the "Please contact ..." meassage on the start page (with the survey list) you can add the following to the '''$(document).ready''' function in the '''template.js''' of your used design template:


<syntaxhighlight lang="php" enclose="div">
===radiolijst===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
| ja nee || J || ul
|-
|geslacht || g || ul
|-
|arrays/ja,nee,weet niet || K || tr
|-
|arrays/meer,gelijk,minder || E || tr
|-
|arrays/dubbele schaal || 1 || tr
|-
|arrays/5punt || A|| tabel en tr
|-
|arrays/10punt || B|| tr
|-
|arrays/array || V || tr
|-
|arrays/kolom || H || col
|-
|lijstradio || L || div
|-
|lijst met opmerkingen || O || div gevolgd door ul
|-
|}


$('#surveycontact').hide(); //Hides the survey contact message
===radio-item===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|arrays/ja,nee,weet niet || K || td
|-
|5puntskeuze || 5 || li
|-
|arrays/10punten || B|| td
|-
|arrays/5punten || A|| td
|-
|arrays/array || V || td
|-
|arrays/kolom || H || td
|-
|arrays/dubbele schaal || 1 || td
|-
|arrays/meer,gelijk,minder || E || td
|-
|geslacht || g || li
|-
|lijstradio || L || li
|-
|ja nee || J || li
|-
|lijstradio || L || li en div
|-
|image_select-listradio || L || li en div
|-
|lijst met opmerkingen|| 0 || li
|-
|}


</syntaxhighlight>
===lijst-groep===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|ja nee || J || ul
|-
|5puntskeuze || 5 || ul
|-
|geslacht || g || ul
|-
|rangschikking || R|| ul
|-
|rangschikking geavanceerd|| R|| ul en div
|-
|question_index_group_buttons || || div
|-
|question_index_questions_buttons || || div
|-
|}


==Remove the survey contact message shown on error messages==
===lijst-groep-horizontaal===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen''' ! N!|-
|ja nee || J || ul
|-
|5puntskeuze || 5 || ul
|-
|geslacht || g || ul
|-
|}


If you want to remove the survey contact message from error messages it'll be trickier. You can add the following function call to the '''$(document).ready''' function in the '''template.css''' of your used design template:
===lijst-zonder-stijl===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|lijst_met_opmerking || 0 || ul
|-
|lijstradio|| L || ul
|-
|meerkeuzevragen|| m || ul
|-
|meerkeuze met opmerkingen| P|| ul
|-
|meervoudig || K|| ul
|-
|multipleshorttext|| Vraag || ul
|-
|rangschikking|| R|| ul
|-
|ranking_advanced|| R|| ul
|-
|bootstrap_buttons_multi|| m || ul
|-
|image_select-multiplechoice|| m || ul
|-
|inputondemand/multipleshorttext || Vraag || ul
|-
|register_error|| || ul
|-
|register_message|| || ul
|-
|layout_survey_list || || ul
|-
|laden|| || ul
|-
|opslaan|| || ul
|-
|captcha|| || ul
|-
|}


<syntaxhighlight lang="php" enclose="div">
===selectielijst===
removeContactAdressFromMessage(); //Removes the survey contact message from error messages
{|class=wikitable
</syntaxhighlight>
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|rangschikking|| R|| ul
|-
|rangschikken geavanceerd|| R|| ul
|-
|}


and add the following function to your *template.js* file
===checkbox-item===
{|class=wikitable
!'''Vraag'''!!'''Vraagtype'''!!'''elementen'''
|-
|multiflexi (Array-nummers)|| : || td
|-
|meerkeuze|| m || li
|-
|meerkeuze met opmerkingen|| P|| div
|-
|image_select-listradio|| L || li
|-
|image_select-multiplechoice|| m || li en div
|-
|navigator|| || span
|-
|}


<syntaxhighlight lang="php" enclose="div">
===checkbox-tekst-item===
function removeContactAdressFromMessage()
{|class=wikitable
{
!'''Vraag'''!!'''Vraagtype'''!!'''elementen''' ! N!|-
if ($('#tokenmessage').length > 0)
|meerkeuze_met_opmerkingen|| P|| li
   {
|-
   var oldMessage = $('#tokenmessage').html();
|meerkeuzevragen|| m || li
   var indexContact = oldMessage.indexOf('Bitte kontaktieren');
|-
   var newMessage = oldMessage.substr(0, indexContact);
|image_select-multiplechoice|| m || li
   $('#tokenmessage').html(newMessage);
|-
   }
}
</syntaxhighlight>


It will probably not work for an englisch survey and have to be extended when using for multilingual surveys. But it's an idea/tip how to solve this.
|}
 
==How to deal with multilingual question attributes (before version 2.0 at which those were added)==
 
If you have a multilingual survey and e. g. want to use a different string for the "other" field, this could only be done for the base language (until this feature was added at Limesurvey 2.0). To work around this, paste in the field to change the label for "other"
 
<syntaxhighlight lang="php" enclose="div"><span class="en">New label</span><span class="fr">Nouveau label</span></syntaxhighlight>
 
At the template.css of your template (at /limesurvey/upload/templates/<yourtemplatename>/template.css) add:


<syntaxhighlight lang="php" enclose="div">html:lang(en) .fr{display:none}
[[Category:Theme]]
html:lang(fr) .en{display:none}</syntaxhighlight>
[[Category:Twig]]

Latest revision as of 12:56, 25 May 2023

Introductie

LimeSurvey heeft een systeem dat het mogelijk maakt om thema's (in oudere versies sjablonen genoemd) te maken. De thema's definiëren het uiterlijk van de pagina's van een enquête. Je kunt in het enquêtebeheer kiezen welk thema gebruikt wordt, en dat aanpassen. Hierbij kunnen het logo en de achtergrondkleuren aangepast worden, maar ook tekstkleuren voor specifieke vragen toevoegen.


LimeSurvey wordt geleverd met een set standaardsthema's. Deze staan in de map themes/survey/, voor elk thema is er een map. Hierin staan verschillende soorten bestanden:een configurate-bestand in XML, meerdere mappen met views themes (.twig), cascading style sheets (css), plaatjes (jpg en png) en mogelijk andere.


Sinds LimeSurvey 2.50 gebruikt de thema-engine Bootstrap 3 als CSS-framework. Bootstrap 3 is een standaard framework, er is elders veel documentatie, tutorials en forumthreads van beschikbaar.


Sinds LimeSurvey 3 gebruikt de thema-engine Twig, zodat de thema-ontwikkelaars de logica van de enquêteweergave op een veilige en gemakkelijke manier kunnen veranderen. Twig vervangt het oude systeem van vervangende trefwoorden dat in de oudere versies werd gebruikt. De logica die werd gebruikt om de HTML van de trefwoorden te genereren, is nu beschikbaar in de weergaven van het thema.


Stukje code in het thema Vanilla:

<div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}>
    {# NB: Als je de vraag er anders wilt laten uitzien, gebruik dan een vraagthema #}
    {{ aQuestion.answer | raw }}
</div>

Thema's bepalen door het gebruik van HTML en Twig-code ook het lettertype en de positie van de tekst en vergelijkbare structuren. Deze structuren worden vastgelegd in CSS (cascading style sheets), die o.a. de positie, lettertype, letterkleur en lettergrootte bepalen. Hiervoor worden klassen gebruikt, die refereren aan HTML-objecten in het sjabloon. Binnen LimeSurvey zijn er speciale klassen gedefinieerd, die gebruikt kunnen worden voor het aanpassen van deze elementen. Ook worden sleutelwoorden gebruikt om de inhoud aan te passen, zoals de titel van de enquête en alle vraagteksten.

Als je een nieuw sjabloon ontwerpt, overweeg dan om het beschikbaar te stellen aan alle gebruikers van LimeSurvey. Er is een bibliotheek van beschikbare sjablonen, enquêtes en andere add-ons, en dat maakt LimeSurvey waardevoller! Kijk hiervoor op onze template repository hoe je je sjablonen kunt delen met andere gebruikers.

Een sjabloon aanmaken

Om een sjabloon aan te kunnen maken (of een bestaande aan te passen) heb je Sjabloonrechten nodig binnen LimeSurvey. Ook heb je toestemming nodig om de bestanden binnen de sjabloonmap te wijzigen.

Waarschuwing: Een wijziging van een thema heeft gevolgen voor alle enquêtes die er gebruik van maken! Pas alleen een thema aan als je echt kennis van thema's en HTML hebt.

Het heeft de voorkeur om een nieuw thema te beginnen via Thema's (zie onder) onder Configuratie. Als je dat wilt, kun je de bestanden ook direct benaderen met je favoriete teksteditor. In dit voorbeeld gebruiken we de thema-editor om een nieuw thema aan te maken. Daarna kun je de bestanden vrijelijk aanpassen met een teksteditor. Map: LimeSurvey_web_root/upload/themes/survey/je_nieuwe_thema.

Rechten: bij unix/linuxsystemen worden de thema's beheerd door de groep en eigenaar die ook de webserver beheerd. Kijk eerst of je de rechten hebt om de bestanden te wijzigen, en dat ze niet van eigenaar veranderen als je ze opslaat. Anders kan het zijn dat ze niet meer benaderbaar zijn in de Thema-editor.


Een aantal 'publieke' elementen van LimeSurvey kunnen ook aangepast worden met behulp van sjablonen.

Bestanden van een thema zijn lastig te begrijpen als je geen kennis hebt van HTML, CSS, Twig en JavaScript.

De Sjablooneditor

LimeSurvey heeft een editor (Configuratie > Thema's> Thema Editor) om gemakkelijk een thema te wijzigen. Alleen gebruikers met thema-rechten en de hoofdbeheerders hebben toegang tot deze editor.


  Attentie : Een fout in een thema kan ertoe leiden dat een enquête met dat thema niet meer in te vullen is door deelnemers.



Je kunt de bestanden van het thema wijzigen en uitbreiden door te klikken op "Thema's" onder "Configuratie".



Je selecteert het sjabloon dat je wilt bewerken/bekijken.



De beschikbare opties:


  • Aanmaak: geeft aan of er een sjabloon aangemaakt mag worden. Een nieuw sjabloon bestaat uit een kopie van het sjabloon 'default'. Je hoeft dus niet vanaf niets te beginnen.
  • Importeren: importeren van een sjabloon uit een zip-bestand.
  • Exporteren: exporteert het huidige sjabloon naar een zip-bestand.
  • Kopiëren: kopieert het huidige sjabloon naar een nieuw sjabloon.
  • Hernoemen: geeft de mogelijkheid om het sjabloon een nieuwe naam te geven. Dit gebruik je meestal na het kopiëren of importeren van een bestaand sjabloon.
  • Sjabloon: Een dropdownlijst met alle beschikbare sjablonen in je LimeSurvey installatie.
  • Scherm: Een selectielijst waar je kunt kiezen welke pagina van de enquête je wilt zien.
  • Terug naar beheerpaneel.

Sjabloon importeren/exporteren/kopiëren

Als je een sjabloon exporteert wordt er een zip aangemaakt met alle bestanden (pstpl-bestanden, plaatjes, style sheets, ...). Deze kun je simpel weer importeren bij een andere LimeSurvey-installatie. Je kunt ook de zip handmatig kopiëren en daarna uitpakken op de juiste locatie.

Het wordt aanbevolen om de sjabloon import/export/copy functies in de sjablooneditor te gebruiken.

Paginastructuur / Sjabloongebruik

  • Welkomstpagina: startpage.pstpl, welcome.pstpl, privacy.pstpl, navigator.pstpl, endpage.pstpl
  • Vraagpagina: startpage.pstpl, survey.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl
  • Afsluitpagina: startpage.pstpl, assessment.pstpl, completed.pstpl, endpage.pstpl

Sjabloonbestanden

De volgende bestanden worden gebruikt om een enquête op te bouwen, ze moeten aanwezig zijn in elk sjabloon dat je aanmaakt:

  • startpage.pstpl: De "kop" van elke pagina. Begint met de "<head>" tag, maar de "<html>" tag staat er niet in. Wordt door de scripts aangemaakt. Wees er zeker van dat de startpage.pstpl een <body> tag heeft. Ook al staan de meeste browsers dit toe, dan nog heeft LimeSurvey deze tag nodig om elementen te kunnen wijzigen. Het is niet voor niets dat je veel 'sleutelwoorden' in startpage.pstpl opneemt, alhoewel het nuttig is om de tag {SURVEYNAME} in de titel te zetten. Startpage.pstpl kan code bevatten die in endpage.pstpl afgemaakt wordt, bijvoorbeeld een tabel die je hier opent en in endpage.pstpl weer sluit. Startpage.pstpl en endpage.pstpl files zijn eigenlijk de kop en voettekst van elke pagina van LimeSurvey.
  • survey.pstpl: De plaats van de naam en beschrijving van de enquête. Er is geen tegenhanger voor dit gedeelte, dus mocht je HTML willen gebruiken, sluit dan alle tags af aan het eind van dit gedeelte.
  • welcome.pstpl: Het sjabloon voor het welkomstscherm (of, bij "alles-in-een" enquêtes, het enige scherm). Hier kun je de welkomstboodschap en introductie van de enquête kwijt. Net zoals 'survey.pstpl' is er geen tegenhanger, dus sluit ook hier alle tags af als je die gebruikt.
  • startgroup.pstpl: wordt aan het begin van elke vraaggroep getoond. Dit sjabloon heeft de tegenhanger 'endgroup.pstpl', dus je hoeft daar pas de tags te sluiten.
  • groupdescription.pstpl: wordt gebruikt om een beschrijving van de groep te geven. Bij de enquête-instelling (Presentatie & navigatie instellingen op de tab Presentatie) kun je aangeven of deze getoond moet worden. Bij niet tonen wordt dit bestand niet meegenomen.
  • question.pstpl: de plaats van de vraag, antwoord en hulpteksten. In "groepsgeoriënteerde" en "alles-in-een" enquêtes wordt dit gedeelte telkens opnieuw gebruikt. Heeft geen tegenhanger: sluit alle tags af.
  • question_start.pstpl: bevat de individuele elementen die voor het begin van de vraag gezet worden. Deze worden in 'question.pstpl' via het {QUESTION} sleutelwoord opgenomen. Het is bedoeld om sjabloonontwerpers meer controle te geven hoe een vraag getoond wordt. Vanaf versie 1.87 is dit niet meer nodig: de sleutelwoorden zijn nu direct beschikbaar in question.pstpl.
  • completed.pstpl: wordt getoond als de deelnemer de resultaten verstuurd heeft en de enquête ten einde is. Kan ook gebruikt worden om een "forwarding link" te tonen zoals die gezet is in de instellingen van de enquête.
  • endgroup.pstpl: sluit een vraaggroep af, en kan gebruikt worden om tags die geopend zijn in startgroup.pstpl te sluiten.
  • navigator.pstpl: bevat de knoppen die de navigatiekeuzes "volgende", "vorige", "laatste", "verstuur", "opslaan" en "wis alles". Wordt gebruikt in alle pagina's behalve de compleet-pagina.
  • printanswers.pstpl: hierin staat de de HTML om de gedrukte versie van de enquête te tonen.
  • print_group.pstpl: heeft dezelfde opzet als startgroup.pstpl endgroup.pstpl voor de gedrukte versie van de enquête.
  • print_question.pstpl: heeft dezelfde opzet als question.pstpl voor de gedrukte versie.
  • print_survey.pstpl: zelfde betekenis als survey.pstpl maar dan voor de gedrukte versie.

CSS en JavaScript

De twee bestanden die altijd in een sjabloon gebruikt worden zijn template.css (CSS) en template.js (JavaScript):

  • {TEMPLATECSS}: voegt de links voor standaard css, template.css en template-rtl.css (voor rechts-naar-links-talen) toe.
  • {TEMPLATEJS}: voegt de links toe voor de standaard JavaScript, template.js en alle JavaScript-bestanden nodig om LimeSurvey te laten werken.

Gebruik Bootstrap

LimeSurvey bevat Bootstrap 3, zo kunt u bij uw sjablonen gebruikmaken van de goed gedocumenteerde Bootstrap-classes. Voor meer informatie verwijzen wij u naar de Bootstrap documentatie.

Ook ondersteunen wij de Awesome-Bootstrap-Checkbox plugin. Hierdoor kunt de typische Bootstrap kleur-classes gebruiken (info,waarschuwing,gevaar,enz.) ook met het achtervoegsel "-checkbox", of "radio".

Vervangen van standaard CSS of JavaScript

Sommige vragen gebruiken specifieke bestanden voor JavaScript en CSS. Als je een functie wilt vervangen, gebruik dan een "cascading systeem". In JavaScript is de laatst gelezen functie, de functie die gebruikt wordt.

Andere sjabloonbestanden

Privacy.pstpl, invitationemail.pstpl, reminderemail.pstpl en confirmationemail.pstpl worden niet meer gebruikt en zijn vervangen door standaardwaarden in de taalbestanden. E-mailberichten kunnen aangepast worden per enquête.

Standaardpagina's

Er zijn 10 standaardpagina's die een deelnemer mogelijk gaat zien bij het gebruik van LimeSurvey. Elke pagina is weer opgebouwd uit de structuur van het Sjabloon dat gekozen is in de instellingen van de enquête. Hieronder zie je hoe de structuur samenhangt met de pagina's.

Enquête Pagina/
Sjabloon bestanden
Overzichts-
lijst
Welkomst Vraag Voltooid Wis alles Aanmelden Laad Bewaar Print
Antwoorden
Print
SurveyList
Welcome
Privacy
Navigator
Survey
StartGroup
GroupDescription
Question*
EndGroup
Assessment
Completed
ClearAll
Register
Load
Save
PrintAnswers
Print Survey
Print Group
Print Question
StartPage
EndPage
Template.css

*OPMERKING: Vanaf versie 1.90+ vervangt dit question.pstpl en question_start.pstpl. Als je een ouder, aangepast sjabloon gebruikt, moet je deze regel aan het begin van quesion.pstpl toevoegen:

<div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}">

en question.pstpl afsluiten met:

</div>

*OPMERKING: Tot en met versie 1.91 werden js-bestanden niet in het sjabloon opgenomen. Vanaf versie 2 moet je {TEMPLATEJS} gebruiken om de links naar de bestanden te maken. Dat kan in startpage.pstpl of endpage.pstpl. Daar kun je de regel met "{TEMPLATEURL}/template.js" verwijderen en vervangen door {TEMPLATEJS} om je sjabloon te updaten.

Bestandsbeheer

In het "Bestandsbeheer"-scherm aan de linkerkant kun je een van de sjabloonbestanden kiezen. Je ziet het schermgedeelte, de JavaScript en de CSS-bestanden. De HTML-code zal dan in het "Bewerk"-gedeelte getoond worden. Als je de goede (map)rechten hebt mag je deze aanpassen en opslaan.


In het gedeelte "Andere bestanden" worden alle andere bestanden in de sjabloonmap getoond. Aan de rechterzijde kun je plaatjes of andere bestanden uploaden om te gebruiken in het sjabloon.


In plaats van voor elke afbeelding een link te gebruiken kun je ook telkens de variabele {TEMPLATEURL} gebruiken. Dus, in plaats van:

img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'

Je kunt gebruiken (Nieuw in 2.50):

img src='{TEMPLATEURL}files/mypicture.jpg'

Gebruik in een LimeSurvey versie ouder dan 2.50:

img src='{TEMPLATEURL}mypicture.jpg'

Een voorvertoning van het sjabloon wordt ondertussen onderin het scherm getoond. Er is geen mogelijkheid om binnen LimeSurvey een sjabloonbestand fysiek te verwijderen: dat moet handmatig via het bestandsbeheer van de server. Test het sjabloon ook met verschillende schermgroottes.

NB: de meegeleverde sjablonen kunnen niet gewijzigd worden met de Sjablooneditor. Als je deze wilt wijzigen, maak dan eerst een kopie, en wijzig de kopie.

Locatie sjabloonbestanden

LimeSurvey slaat het sjabloon op in een submap binnen de map /templates, die weer onderdeel uitmaakt van alle publieke bestanden van LimeSurvey. Aangepaste (gebruikers)sjablonen worden in de map /upload/templates geplaatst.

Er moet ALTIJD een map "default" in de map templates staan. Deze wordt gebruikt indien het gekozen sjabloon niet (meer) bestaat. Deze map is aanwezig bij de installatie.

Je kunt geüploade plaatjes als volgt gebruiken:

{TEMPLATEURL}filename.xyz

Opmaak vragen

Het toevoegen van stijlen aan vragen is eenvoudig: elk vraagtype heeft zijn eigen klasse. Verplichte vragen hebben daarbij een aanvullende verplicht-klasse. Voorbeeld van een optionele vraag:

<div id="question5" class="gender">
...
</div>

en bij een verplichte vraag:

<div id="question5" class="gender mandatory">
...
</div>

en als de verplichte vraag niet ingevuld wordt of niet door de validatie komt:

<div id="question5" class="gender mandatory input-error">
...
</div>

en als de vraag niet goed beantwoordt wordt:

<div id="question6" class="text-short input-error">
...
</div>

Globale klassen voor vragen

Deze klassen kunnen door elk vraagtype gebruikt worden, een vraagtype kan één of meerdere klassen gebruiken.

Globale klassen
Naam klasse Onderdeel Vraagtype Voorbeeld Opmerking
.question (Vervallen sinds 30) Elk vraag blok Elk vraagtype <p class="question">, <ul class="question">, <table class="question">
.ls-answers (Nieuw in 3.0) Elk vraag blok Elk vraagtype <div class="ls-answers ">, <ul class="ls-answers ">, <table class="ls-answers">
.subquestions-list Lijst subvragen Meerkeuzevragen, array vragen <ul class="subquestions-list">, <table class="subquestions-list"> of .questions-list
.answers-list Lijst antwoorden Enkelekeuze, array, Meerdere teksten <ul class="answers-list">, <table class="answers-list">
.answer-item Het antwoorddeel: een antwoord Enkelekeuze, array, Meerdere teksten <li class="answer-item">, <td class="answer-item">
.noanswer-item Het antwoorddeel voor geen antwoord Enkelekeuze, array <li class="noanswer-item">, <td class="noanswer-item"> Geen antwoord is ook een antwoord, ze hebben 2 klassen noanswer-item en answer-item
.question-item Het vraagdeel: een vraag Meerdere teksten, array <li class="question-item">, <tr class="question-item"> Sommige antwoorden zijn ook vragen, dan hebben we er veel met class="question-item answer-item"
.checkbox-list Een lijst checkboxen Meerkeuze, array getallen (checkbox) <ul class="checkbox-list">, <tr class="checkbox-list"> Sommige vraagtypes hebben meerdere lijstenclass: zoals checkbox met opmerkingen: class="checkbox-list text-list"
.checkbox-array (Nieuw in 3.0) Een array van checkboxen Array (getallen) met checkbox optie <table class="checkbox-list">
.checkbox-item Het antwoorddeel met een checkbox Meerkeuze, array getallen (checkbox) <li class="checkbox-item">, <td class="checkbox-item">
.radio-list Een lijst radioknoppen Enkelekeuze, array (elke regel) <ul class="radio-list">, <tr class="radio-list">
.radio-array (Nieuw in 3.0) Array van radioknoppen Array vraagtype <table class="radio-array">
.radio-item Het antwoorddeel met een radioknop Enkelekeuze, array <li class="radio-item">,
.text-list Een lijst tekstinvoer Meerdere teksten, array teksten <ul class="text-list">, <tr class="text-list">
.text-item Het antwoorddeel van tekstinvoer Meerdere teksten, array teksten <li class="text-item">,
.numeric-list Een lijst met tekstinvoer met alleen numerieke antwoorden (elke rij) Meerdere getallen, Array getallen <ul class="text-list numeric-list">, <tr class="text-list numeric-list">
.number-list Een lijst met tekstinvoer met alleen numerieke antwoorden (elke rij) Meerdere getallen, Array getallen <ul class="text-list numeric-list">, <tr class="text-list numeric-list">
.number-array (Nieuw in 3.0) Het antwoorddeel van numerieke invoer Array getallen <table class="number-array">
.select-list (Vervallen sinds 2.50) Een selectie lijst Array getallen, dubbele schaal <table class="select-list">
.dropdown-list (Nieuw in 2.50) Een selectie lijst Array getallen, Dubbele schaal (select) (elke rij) <table class="dropdown-list">
.dropdown-array (Nieuw in 3.0) Een dropdownlijst Array getallen, Dubbele schaal (select) <table class="dropdown-array">
.select-item (Vervallen sinds 2.50) Het antwoorddeel van een selectie Array getallen, dubbele schaal, enkelekeuze met selectie <p class="select-item">, <td class="select-item">
.dropdown-item (Nieuw in 2.50) Het antwoorddeel van een select Array getallen, Dubbele schaal (select), Enkelekeuze met select <p class="dropdown-item">, <td class="dropdown-item">
.hide (Vervallen sinds 3.0) Gebruikt voor toegankelijkheid: verborgen met CSS maar gelezen met screenreader. Vanaf 2.50 : gebruik sr-only via bootstrap Kort vrije tekst <label class="hide"> Kan voor andere doelen gebruikt worden
.ls-js-hidden (Nieuw in 3.0) Gebruikt voor te verbergen deel als JavaScript is actief Bijv. knop <div class="ls-js-hidden"> Kan in sjabloon gebruikt worden
.ls-js-hidden-sr (Nieuw in 3.0) Gebruikt voor toegankelijkheid: verborgen bij JS actief, getoond bij screenreader Bijv. knop <a class="ls-js-hidden-sr"> Button
.ls-no-js-hidden (Nieuw in 3.0) Gebruikt voor te verbergen deel indien JS niet actief Link <a class="ls-no-js-hidden">
.ls-label-xs-visibility (Nieuw in 3.0) Label getoond in klein scherm (zonder extra tabel) en in screenreader label <label class="ls-no-js-hidden"> Gebruikt voor label in tabel met array vraagtype
.ls-input-group-extra (Nieuw in 3.0) Gebruik als bootstrap input-group-addon, maar zonder border en background. right suffix <div class="ls-input-group-extra"> Gebruik voor right en left suffix (globaal)
.dontread Gebruikt voor toegankelijkheid: niet te lezen met screenreader Array <th class="dontread">
.checkbox (Vervallen sinds 3.0) input[type=checkbox] Vraag met checkbox <input type="checkbox" class="checkbox"> Alleen voor oudere browsers nodig
.radio (Vervallen sinds 3.0) input[type=radio] Vraag met radioknop <input type="radio" class="radio"> Alleen voor oudere browsers nodig
.text input[type=text] Vraag met invoertekst, of textarea <textarea class="text">
.answertext Array Antwoorddeel van array <th class="answertext">
.col-answers Array Kolom van antwoorden <col class="col-answers">
.odd .even (Vervallen sinds 3.0) Array Afwisseling voor kolom <col class="odd">
.array1 .array2 (Vervallen sinds 3.0) Array Afwisseling voor regel <tr class="array1">
.ls-odd .ls-even (Nieuw in 3.0) Array Afwisseling voor subvraag en Y-as <tr class="ls-odd">

Voorbeelden van vragen met klassen

Kort vrije tekst vraagtype:

<p class="question answer-item text-item ">
<label class="hide label" for="answerSGQA">Answer</label><input type="text" value="" id="answerSGQA" name="SGQA" size="50" class="text  empty">
</p>

Meerdere korte vrije teksten vraagtype

<ul class="subquestions-list questions-list text-list">
  <li class="question-item answer-item text-item" id="javatbdSGQA">
    <label for="answerSGQA">Some example subquestion</label>
     <span><input type="text" value="" id="answerSGQA" name="SGQA" size="20" class="text empty"></span>
  </li>
</ul>

Array vraagtype

<table class="question subquestion-list questions-list ">
	<caption class="hide read">Some explanation for accessibility.</caption>
	<colgroup class="col-responses">
		<col width="50%" class="col-answers">
		<col width="25%" class="odd">
		<col width="13.3%" class="col-no-answer even">
	</colgroup>
	<thead>
		<tr class="array1 dontread">
			<td>&nbsp;</td>
			<th>1</th>
			<th>No answer</th>
		</tr>
	</thead>
	<tbody>
		<tr class="array2 answers-list radio-list" id="javatbdSGQ">
			<th width="20%" class="answertext">Some example subquestion
			</th>
			<td class="answer_cell_001 answer-item radio-item">
				<label for="answerSGQA" class="hide read">1</label>
				<input type="radio" value="1" id="answerSGQA" name="SGQA" class="radio">
			</td>
			<td class="answer-item radio-item noanswer-item">
				<label for="answerSGQA" class="hide read">No answer</label>
				<input type="radio" value="" id="answerSGQA" name="SGQA" class="radio">
			</td>
		</tr>
	</tbody>
</table>

Alle klassen van de vraagtypes

Vraagtype Klasse ID
5-puntskeuze .choice-5-pt-radio 5
Array (10 punten) .array-10-pt B
Array (5 punten) .array-5-pt A
Array Dubbele schaal .array-flexible-duel-scale 1
Array (Meer, gelijk, Minder) .array-increase-same-decrease E
Array (getallen) .array-multi-flexi :
Array (teksten) .array-multi-flexi-text ;
Array (Ja/Nee/Weet niet) .array-yes-uncertain-no C
Array .array-flexible-row F
Array per kolom .array-flexible-column H
Boilerplaat .boilerplate X
Datum .date D
Vergelijking .equation *
Geslacht .gender G
Extra lange vrije tekst .text-huge U
Taalkeuze .language I
Lijst (Dropdown) .list-dropdown !
Lijst (Radioknoppen) .list-radio L
Lijst met commentaar .list-with-comment O
Lang vrije tekst .text-long T
Meervoudige numerieke invoer .numeric-multi K
Meerkeuzevraag .multiple-opt M
Meerkeuzevraag met opmerkingen .multiple-opt-comments P
Meerdere korte vrije teksten .multiple-short-txt Q
Numerieke invoer .numeric N
Rangschikken .ranking R
Kort vrije tekst .text-short S
Ja/Nee .yes-no Y

De volledige lijst met validatieklassen

NB: Voor versie 1.92 waren alleen .mandatory en .input-error beschikbaar.

Deze klassen kunnen gebruikt worden om de stijl van hulp- en/of validatiemeldingen te wijzigen.

De .hide-tip en .input-error opties staan standaard op verborgen ("hidden"), maar worden getoond ("display") als er fouten optreden, en worden weer verborgen als de fouten zijn gecorrigeerd.

Zo wordt voorkomen dat er pop-ups getoond worden voor fouten. In plaats daarvan verschijnen/verdwijnen de mededelingen, ze kunnen van kleur voorzien worden afhankelijk van de fout.

Ook kun je eerst een vriendelijk kleurschema gebruiken als de deelnemer meer informatie nodig heeft. Daarna kun je de kleuren feller maken als de deelnemer geen juiste waarden invoert.

Doel CSS Klasse Beschrijving
Mandatory .mandatory de vraag is verplicht
User input error .input-error er is minstens een validatiefout
Hide Tip .hide-tip ingevuld als je de hide_tip optie gebruikt
standaardtype .em_default voor standaard zetten tip ( numerieke waarde enz …)
Num answers .em_num_answers voor min_answers en max_answers
Value range .em_value_range voor min/max_num_value_n en multiflexible_min/max
Sum range .em_sum_range voor min/max/equals_num_value
Regex validation .em_regex_validation voor reguliere-expressie validatie van de vraag
Question-level validation function .em_q_fn_validation voor de em_validation_q optie
Subquestion-level validation function .em_sq_fn_validation voor de em_validation_sq optie
Other comment mandatory .em_other_comment_mandatory voor de other_comment_mandatory optie, wordt toegevoegd als "anders" geselecteerd is maar het begeleidend commentaar niet ingevuld is.

Stijlen importeren in je aangepaste sjabloon

De aangepaste stijlen voor vragen staan tegen het eind van het CSS-bestand van de sjabloon, en starten met:

/* --------------------------- START: Question styles  ------------------------------ */

Mocht je een eigen sjabloon willen wijzigen, dan moet je eerst alle tekst onder dit commentaar templates/default/template.css (voor tabel-gebaseerde layouts) of template/limespired/template.css (voor CSS-gebaseerde layouts) in je eigen bestand kopiëren.

Conditionele stylesheets voor Internet Explorer

Omdat IE6 en IE7 qua opbouw van de webpagina behoorlijk afwijken van de rest van de browsers zijn er speciale conditionele stylesheets aanwezig om sjablonen goed te kunnen tonen.

<!--[if IE]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_all-versions.css" />
<![endif]-->
<!--[if lt IE 7]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_older-than-7.css" />
<![endif]-->
<!--[if IE 8]>
		<link rel="stylesheet" type="text/css" href="{TEMPLATEURL}ie_fix_8.css" />
<![endif]-->

Kopieer de bovenstaande code in jouw startpage.pstpl, en kopieer de beide IE-stylesheets van ofwel /templates/default of wel /templates/limespired, afhankelijk van je lay-out.

Opmerking: als je deze stijlen in je eigen stylesheet verwerkt zul je ze vast en zeker moeten aanpassen.

Alternatieve oplossing voor Internet Explorer

Je kunt ook de conditionele klasse in body opnemen (binnen startpage.pstpl) en deze klasse gebruiken in jouw template.css. Deze methode wordt gebruikt in het sjabloon citronade (Vervallen sinds 2.06). Toevoegen van een js / no-js klasse om een JavaScript / geen JavaScript systeem te hebben.

<!--[if lt IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie6 ielt7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 8 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie8 ielt9  no-js"> <![endif]-->
<!--[if IE 9 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie9 no-js"> <![endif]-->
<!--[if gt IE 9]><!--><body id="body" class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} no-js"><!--<![endif]-->
<script type='text/javascript'>/*<![CDATA[*/(function(H){ H.className=H.className.replace(/\bno-js\b/,'js') })(document.getElementsByTagName('body')[0]);/*]]>*/</script>

Gebruik in template.css:

.ie6{/*Voor Internet Explorer 6*/}
.ielt8{/*Voor Internet Explorer 6 en 7*/}
.ie{/*Voor alle versies Internet Explorer */}

Rechts-naar-links (RTL) talen en uitlijnen

De teksteditor in LimeSurvey kan RTL teksten opnemen. Maar als er volledig uitgelijnd wordt toont deze de tekst in de leesrichting van links naar rechts. Dit is alleen een beeldfout: tijdens de enquête wordt de tekst correct van rechts naar links afgebeeld.

Sleutelwoorden

  Ontraden : Deze optie wordt ontraden vanaf versie 3.0.


Sleutelwoorden in een sjabloon worden vervangen door de informatie uit de enquête. Ze worden omsloten met accolades, voorbeeld: {SURVEYNAME}.

De volgende sleutelwoorden worden vervangen in het sjabloon tijdens de opbouw voor de deelnemers. Ze werken op bijna iedere pagina, behalve de Afsluitpagina. (De woorden kunnen ook in common.php opgezocht worden, of anders in index.php)

Sleutelwoord Sjabloon bestand Omschrijving
{SURVEYNAME} Alle De titel van de enquête.
{SURVEYDESCRIPTION} Alle De beschrijving van de enquête.
{WELCOME} Alle (meestal: welcome.pstpl) De welkomst tekst van de enquête.
{PERCENTCOMPLETE} survey.pstpl Een grafiekje met het percentage dat voltooid is.
{GROUPNAME} startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl De naam van de huidige groep.
{GROUPDESCRIPTION} startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl De beschrijving van de huidige groep.
{NUMBEROFQUESTIONS} welcome.pstpl Het aantal vragen in de enquête (alleen het getal).
{THEREAREXQUESTIONS} welcome.pstpl Toont "Er zijn X vragen in deze enquête." Op plaats van de X staat natuurlijk het aantal vragen. Als er maar een vraag is: "Er is 1 vraag in deze enquête".
{CHECKJAVASCRIPT} Alle (meestal: welcome.pstpl) Waarschuwing als JavaScript door gebruiker is uitgeschakeld.
{QUESTION} question.pstpl (Is verouderd sinds versie 1.87) Toont de huidige vraagtekst. (Het formaat van {QUESTION} kan gewijzigd worden door 'question_start.pstpl' te wijzigen.) Gebruik het volgende: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE} en {QUESTION_INPUT_ERROR_CLASS} en de geschikte HTML voor inkapseling in plaats van {QUESTION}.
{ANSWER} question.pstpl, print_question.pstpl het antwoordformulier voor de huidige vraag.
{SGQ} question.pstpl, question text Kan gebruikt worden in de vraagtekst zelf om te refereren aan het invoerveld van de vraag dynamisch door het tonen van de Survey-Group-Question id van de huidige vraag (sinds versie build 9755).
{QUESTIONHELP} question.pstpl, print_question.pstpl Toont de helptekst (voorgedefinieerd per vraagtype) van de huidige vraag.
{QUESTION_CLASS} question.pstpl, print_question.pstpl Unieke klasse voor elk vraagtype. (Wordt toegevoegd in de tags om de vraag heen.)
{QUESTION_CODE} question.pstpl, print_question.pstpl Toont de huidige vraagcode.
{QUESTION_ESSENTIALS} question.pstpl De id van de vraag en als een vraag conditioneel is: 'style="display:none;"'. (Wordt toegevoegd in de tags om de vraag heen.)
{QUESTION_HELP} question.pstp, question_start.pstpl Toont de door de ontwerper van de enquête gemaakte helptekst voor de huidige vraag.
{QUESTION_TYPE_HELP} print_question.pstp Toont de door de ontwerper van de enquête gemaakte helptekst voor de huidige vraag.
{QUESTION_INPUT_ERROR_CLASS} question.pstp, question_start.pstpl Geeft een klasse bij een invoerfout.
{QUESTION_ID} print_question.pstp Geeft een unieke ID voor elke vraag, hierdoor kunnen vragen specifiek worden opgemaakt.
{QUESTION_TEXT} question.pstp, print_question.pstp, question_start.pstpl Toont de huidige tekstvraag.
{QUESTION_MANDATORY} question.pstp, print_question.pstp, question_start.pstpl Toont de vertaalde 'Mandatory' tekst voor de huidige vraag.
{QUESTION_MAN_CLASS} question.pstpl, print_question.pstpl Klasse als een vraag verplicht is. (Wordt toegevoegd in de tags om de vraag heen.)
{QUESTION_MAN_MESSAGE} question.pstp, print_question.pstp, question_start.pstpl Toont de vertaalde 'Mandatory' tekst voor de huidige vraag.
{QUESTION_NUMBER} print_question.pstpl Teller van het aantal vragen (lopend).
{QUESTION_VALID_MESSAGE} question.pstp, print_question.pstp, question_start.pstpl Toont de vertaalde helptekst voor de huidige vraag.
{QUESTION_SCENARIO} print_question.pstp Geeft de 'scenario' tekst voor conditionele vragen.
{NAVIGATOR} navigator.pstpl Toont de navigatie knoppen (Volgende, Vorige, Laatste).
{CLEARALL} Alle (bedoeld voor: navigator.pstpl) Toont de "Stoppen wis alle ingevulde antwoorden" link.
{COMPLETED} completed.pstpl Toont de boodschap dat de enquête geheel is ingevuld en klaar voor verzending, kan worden aangepast door attribuut_1 en attribuut_2 te vullen.
{URL} completed.pstpl Toont de 'url' en 'url tekst'.
{PRIVACYMESSAGE} privacy.pstpl De privacy informatie wordt getoond als de enquête anoniem is. De tekst kan worden gewijzigd/vertaald in de taalbestanden. Je kunt ook handmatig de door jou gebruikte versie van het sjabloon privacy.pstpl wijzigen.
{TEMPLATEURL} Alle De URL naar het huidige sjabloon (handig bij refereren aan afbeeldingen in je sjabloon).
{SURVEYRESOURCESURL} All Files De URL naar de het geüploade bestanden van deze enquête, bruikbaar voor gebruik bij de link naar afbeeldingen in de enquête,
{SUBMITCOMPLETE} endpage.pstpl De boodschap (uit de taalbestanden) die aan de respondent toont dat de enquête ingevuld is en dat er op de knop "Verstuur" gedrukt moet worden.
{SUBMITREVIEW} survey.pstpl De boodschap (uit de taalbestanden) die aan de respondent toont hoe ze de gegeven antwoorden kunnen bekijken en wijzigen.
{SAVEDID} Alle bestanden Toont 'Response ID' van respondent
{QUEXMLPDF} Alle bestanden Toont knop voor exporteren queXML PDF van enquête incl. al ingevulde antwoorden.
{TOKEN:FIRSTNAME} Alle ***Als de enquête niet anoniem is - dan wordt dit vervangen door de voornaam van de respondent.***
{TOKEN:LASTNAME} Alle ***Als de enquête niet anoniem is - dan wordt dit vervangen door de achternaam van de respondent.
{TOKEN:EMAIL} Alle ***Als de enquête niet anoniem is - dan wordt dit vervangen door het e-mailadres van de respondent.***
{TOKEN:ATTRIBUTE_1} Alle ***Als de enquête niet anoniem is - dan wordt dit vervangen door de attribuut_1 behorend bij de respondent.***
{TOKEN:ATTRIBUTE_2} Alle ***Als de enquête niet anoniem is - dan wordt dit vervangen door de attribuut_2 behorend bij de respondent.***
{ANSWERSCLEARED} Voorkeur: navigator.pstpl De boodschap "Antwoorden verwijderd" uit de taalbestanden.
{RESTART} clearall.pstpl URL om de enquête opnieuw te starten.
{REGISTERERROR} register.pstpl Toont foutmeldingen op de aanmeldingspagina (bijvoorbeeld: "Het e-mailadres dat u opgaf is ongeldig. Probeert u het nog eens.").
{REGISTERMESSAGE1} register.pstpl De boodschap "Registratie is vereist om deel te nemen aan deze enquête." uit de taalbestanden.
{REGISTERMESSAGE2} register.pstpl Details over aanmelden uit de taalbestanden.
{REGISTERFORM} register.pstpl Het actuele formulier voor aanmelding, wordt gewijzigd als attribuut_1 en attribuut_2 zijn gevuld.
{SAVE} Specifiek voor navigator.pstpl Toont de knop 'Sla uw antwoorden tot nu toe op', zodat de respondent de enquête kan opslaan en later de rest kan invullen. Deze knop wordt alleen getoond als de opslaan optie ingeschakeld is.
{LANGUAGECHANGER} survey.pstpl Toont een optie om de vraag te wijzigen als de enquête in meerdere talen beschikbaar is.

Invoervelden

Elk invoertype heeft een eigen klasse, hierdoor kun je in de CSS eigen opmaak voor knoppen en invoervelden toevoegen in je "startpage.pstpl". De klassen zijn:

  • submit (submit knoppen)
  • text (Tekst invoer - voor korte vrije tekst, datum en numerieke invoer)
  • answertext (tekst van antwoorden)
  • radio (radioknoppen)
  • checkbox (checkboxen)
  • select (select / lijst)
  • textarea (lange tekst)
  • clearall De "Stoppen, verwijder alle ingevulde antwoorden" link
  • rank Het vraagtype ranking. Wijzig niet de kleur van de selectbox of de text boxes (die worden al eerder ingesteld), je kunt wel o.a. de background colour, text colour, size wijzigen voor de andere onderdelen.
  • graph De "percentage voltooid" weergave.
  • innergraph onderdeel van de graph met het percentage. Je kunt de kleur wijzigen.
  • question Algemene instellingen voor elke vraag die in een tabel getoond wordt. Je kunt hier de font size en colour instellen, zodat je een standaardwaarde hebt.
  • mandatory  Verplichte vragen.
  • input-error Invoerfout van gebruiker - bijvoorbeeld: verplichte vraag of vraag met validatie.
  • array1 en array2 Deze twee worden afgewisseld bij het tonen van het bereik van antwoorden bij array type vragen. Je kunt dan een verschillende background colour instellen. Array1 wordt ook gebruikt voor de koppen bij de array type vragen.
  • errormandatory Zet de kleur en stijl van de tekst: "Deze vraag is verplicht".
  • warningjs Zet de kleur en stijl van de waarschuwing als de gebruiker JavaScript in de browser heeft uitgeschakeld.

Er zijn ook onderdelen die op ID kunnen worden benaderd (#ID in CSS):

  • surveycontact (De tekst over contact op de beginpagina)
  • tokenmessage (gebruikt voor meldingen in de enquête, bijvoorbeeld: je sessie is verlopen.)

Je kunt alle onderdelen van HTML wijzigen, er is dus geen reden om in je sjablonen een eigen

<div class='new_name'></div>

toe te voegen en daarna een eigen class te gebruiken.

Opmaak voortgangsmeter

De opmaak van de voortgangsmeter kan bepaald worden met CSS.

Om de achtergrondkleur te wijzigen moet je aan het eind van het bestand custom.css toevoegen (voorbeeld voor het thema fruity):

.fruity .progress-bar {
 background-color: #3300FF;
}

Je kunt de kleur van de rand van de voortgangsmeter wijzigen in je bestand custom.css:

.fruity .progress-bar {
 border: 1px solid #FF0000;
}

Extra functies voor ontwikkelaars

Er zijn ook enkele uitbreidingen van gebruikers opgenomen in LimeSurvey. De geavanceerde mogelijkheden vereisen soms wijzigingen in de broncode en dienen dus zorgvuldig te worden gedaan!

Ondersteuning voor je eigen JavaScript

Soms wil een gebruiker JavaScript op de enquête pagina's gebruiken, maar kan dat dan niet door de aanroep van checkconditions() in de BODY. Deze aanroep is vervangen door een JavaScript functie in de HEAD die controleert op de aanwezigheid van checkconditions() en template_onload() voor ze aan te roepen.  Hierdoor kan een ontwerper van sjablonen een eigen template_onload() functie in de HEAD maken.

  • Filter HTML op XSS - in Instellingen -> Beveiliging, zet "Filter HTML op XSS" op Nee.
  • Plaats je script in een vraagbeschrijving of vraaggroepbeschrijving.
Meer informatie Gebruik JavaScript.


TIPS

Taalafhankelijkheden

Als je in een voettekst een regel wilt hebben met een helptekst die taalafhankelijk is, dan kun je in het pstl-bestand een regel optioneel tonen of verbergen afhankelijk van de taal. In template.css kan de pseudo selector :lang gebruikt worden, maar om meer compatibel te zijn, gebruiken we enkele classes.

Een voorbeeld met een tekst in het Frans en het Engels in de voet, dus in endpage.pstpl:

<div class="nl" lang="nl">Bel voor ondersteuning met telefoonnummer 000000</div>
<div class="en" lang="en">For some help, please call 000000</div>

en in template.css:

.lang-fr .en{display:none}
.lang-en .fr{display:none}

Lay-out wijzigen van enquête pagina

Bij het wijzigen van een sjabloon kan het sjabloon aan een enquête gekoppeld worden. Je kunt het echter ook het standaardsjabloon maken als je wilt dat alle enquêtes het gebruiken (als de enquête-beheerder niet een ander sjabloon kiest).

Om je huidige sjabloon ook voor deze pagina te gebruiken, moet je de bijbehorende instelling bij de Instellingen wijzigen. In oudere versies kan dit gedaan worden door de $defaulttemplate instelling te kopiëren uit config-defaults.php naar config.php, en wijzig het in $defaulttemplate = 'yourtemplatename';.

Importeren/Exporteren van sjabloon : Mac gebruikers

MAC-gebruikers Mac OSX standaard archief utility kan problemen hebben met gegenereerde zip folders.

Een oplossing is om de unzip van Unix te gebruiken op de commandoregel:

$ unzip template.zip -d template

Archive: template.zip

 inflating: template/startpage

 inflating: ...

Een andere oplossing, met gecompileerde scripts:

Als je hetzelfde sjabloon voor alle enquêtes wilt gebruiken en alleen het logo per enquête wilt wijzigen, dan kun je de {SID} placeholder in het sjabloonbestand .pstpl gebruiken om naar een ander plaatje te refereren:

<img src="{TEMPLATEURL}files/logoImage-{SID}.png">

Toon aangepast favicon

Een favicon is de kleine afbeelding in je browser in de adresregel en naast je bladwijzers. Je kunt je eigen afbeelding gebruiken door:

  1. Een favicon aan te maken.
  2. Je noemt dit "favicon.ico" en zet het in de map template/files
  3. Voeg de volgende code toe in je startpage.pstpl voor de </head> tag.
<link rel="shortcut icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon">
<link rel="icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon">

Verschillend uiterlijk voor enquête/vraagpagina's

Als je wilt dat het uiterlijk van de pagina's afwisselt (dus om en om hetzelfde uiterlijk) kun je de .page-odd class in je CSS-bestand wijzigen.

Voorbeeld standaardsjabloon in versie 1.91+:

.page-odd table.question-group {
 background-color: #D2F2D3;
}

Om dit omwisselen in het (default) sjabloon te voorkomen, moet je de voorkomens van .page-odd in template.css verwijderen.

Toevoegen verticale scheiding voor dubbele schaal array

Om een verticale scheiding te maken bij een dubbele-schaal array kun je de volgende regels toevoegen aan je bestand template.css.

table.question thead td.header_separator,
table.question tbody td.dual_scale_separator
{
   border-right:solid 1px #00A8E1;
}

header_separator wordt gebruikt als scheidingsteken in de header "td". De "dual_scale_separator" wordt gebruikt als scheidingsteken kolom in het dubbele-schaal array.

Eigen logo toevoegen in enquête-lijst

  1. Open eerst de Thema-editor voor het betreffende thema.
  2. We bevelen aan ons huidige beste thema te gebruiken : fruity.
  3. Breidt het thema uit (Extend) en geef het een eigen naam.
  4. Je kunt een logo uploaden.
  5. Selecteer het scherm`Enquêtelijst´ in het dropdownveld.
  6. Selecteer `layout_survey_list.twig´ in het linkermenu.
  7. Ga in de editor naar regel 126 en pas het gemarkeerde gedeelte van de bestandsnaam dat je hebt geüpload aan.
  8. Sla je bestand op.
  9. Wijzig het standaardthema naar je nieuwe thema.

Lijn het logo uit op het midden van de enquêtepagina

Dit voorbeeld is voor het sjabloon "extends_fruity". Voor andere sjablonen kan de CSS anders zijn.

  1. Log in als LimeSurvey-beheerder
  2. Blader naar de thema-editor: Configuratie > Thema's
  3. Zoek in de lijst naar "LimeSurvey Fruity Theme" en klik op de knop "Thema-editor"
  4. Klik op "custom.css" in de lijst met bestanden aan de linkerkant bijna onderaan de pagina
  5. Kopieer de volgende CSS in dat bestand en druk op "Wijzigingen opslaan"
.navbar-fixed-top > div.navbar-header {
    width: 100% !important;
}

.navbar-fixed-top > div.navbar-header > div {
    width: 100% !important;
}

.navbar-fixed-top > div.navbar-header > div > img {
    margin: 0 auto 0 auto !important;
}


Aangepaste vraag-views (Nieuw in 3.0)

NB: Dit is een tijdelijk functie die in de toekomst vervangen wordt door vraagplugins. De functie is standaard uitgeschakeld.

Vanaf versie 2.5 kunt u sjabloonspecifieke aangepaste views aanmaken voor vragen en enkele onderliggende onderdelen. Dit is handig als u de HTML-lay-out van een bepaald vraagtype wilt wijzigen voor een of meer enquêtes.

  • Zoek in application/config/config.php naar 'config'=>array en voeg deze regel toe in het array : 'allow_templates_to_overwrite_views'=>1
  • Zet in /{your_template}/config.xml "overwrite_question_views" op true
  • Kopieer application/views/survey/* naar template/{your_view_directory}/survey/
  • NB: je hoeft alleen de bestanden te kopiëren die je wilt wijzigen, de bestandsstructuur moet hetzelfde blijven als in application/views/survey/

Aangepaste CSS of JavaScript gebruiken bij sjabloon

Vanaf versie 2.5 kun je het bestand config.xml gebruiken voor het automatisch laden van een plugin.

  • Plaats je bestanden in de map template /css of /scripts
  • Voeg in /{your_template}/config.xml, het pad naar de <css> or <js> blocks, zoiets als:
    <css>
    	<filename>css/jquery-ui-custom.css</filename>
    	<filename>css/bootstrap-slider.css</filename>
    
    	<filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
    	<filename>css/flat_and_modern.css</filename>
    
    	<filename>css/template.css</filename>
    
    	<filename>css/myCustomPlugin.css</filename>
    </css>
    <js>
    	<filename>scripts/template.js</filename>
    	<filename>scripts/bootstrap-slider.js</filename>
    
    	<filename>scripts/myCustomPlugin.js</filename>
    </js>
    

Definitie classes (voor ontwikkelaars)

antwoordlijst

Vraag Vraagtype elementen
arrays/5punten A tr
arrays/10punten B tr
arrays/array V tr
arrays/kolom H tr en col
arrays/dubbele schaal 1 tr
arrays/meer,gelijk,minder E tr
arrays/ja,nee,weet niet K tr
geslacht g div en ul
lijst met opmerkingen O div
rangschikking R ul en div
ja nee J ul en div
rangschikking geavanceerd R ul en div
lijst radio L div
5puntskeuze 5 ul
meerkeuze m div


radiolijst

Vraag Vraagtype elementen
ja nee J ul
geslacht g ul
arrays/ja,nee,weet niet K tr
arrays/meer,gelijk,minder E tr
arrays/dubbele schaal 1 tr
arrays/5punt A tabel en tr
arrays/10punt B tr
arrays/array V tr
arrays/kolom H col
lijstradio L div
lijst met opmerkingen O div gevolgd door ul

radio-item

Vraag Vraagtype elementen
arrays/ja,nee,weet niet K td
5puntskeuze 5 li
arrays/10punten B td
arrays/5punten A td
arrays/array V td
arrays/kolom H td
arrays/dubbele schaal 1 td
arrays/meer,gelijk,minder E td
geslacht g li
lijstradio L li
ja nee J li
lijstradio L li en div
image_select-listradio L li en div
lijst met opmerkingen 0 li

lijst-groep

Vraag Vraagtype elementen
ja nee J ul
5puntskeuze 5 ul
geslacht g ul
rangschikking R ul
rangschikking geavanceerd R ul en div
question_index_group_buttons div
question_index_questions_buttons div

lijst-groep-horizontaal

Vraag Vraagtype - ja nee J ul
5puntskeuze 5 ul
geslacht g ul

lijst-zonder-stijl

Vraag Vraagtype elementen
lijst_met_opmerking 0 ul
lijstradio L ul
meerkeuzevragen m ul
P ul
meervoudig K ul
multipleshorttext Vraag ul
rangschikking R ul
ranking_advanced R ul
bootstrap_buttons_multi m ul
image_select-multiplechoice m ul
inputondemand/multipleshorttext Vraag ul
register_error ul
register_message ul
layout_survey_list ul
laden ul
opslaan ul
captcha ul

selectielijst

Vraag Vraagtype elementen
rangschikking R ul
rangschikken geavanceerd R ul

checkbox-item

Vraag Vraagtype elementen
multiflexi (Array-nummers) : td
meerkeuze m li
meerkeuze met opmerkingen P div
image_select-listradio L li
image_select-multiplechoice m li en div
navigator span

checkbox-tekst-item

Vraag Vraagtype - meerkeuze_met_opmerkingen P li
meerkeuzevragen m li
image_select-multiplechoice m li