Actions

BeforeQuestionRender: Difference between revisions

From LimeSurvey Manual

(beforeRenderQuestion)
 
m (Text replacement - "Expression Manager" to "ExpressionScript")
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
TODO: This event is not completely compatible with 3.x yet.
'''When'''
'''When'''


This event happen when question part from template is displayed.
This event is triggered when a question part from the template is displayed.


'''Input'''
'''Input'''
Line 8: Line 10:


* ''surveyId'' the id of the current survey
* ''surveyId'' the id of the current survey
* ''type'' the code of the [[Question_types|question type]]
* ''code'' the question code
* ''qid'' the id of the current question
* ''qid'' the id of the current question
* ''text' the question text
* ''gid'' the id of the current group
* ''class' the question css class
* ''text'' the question text
* ''help'' the question help text
* ''questionhelp'' the question help (by admin user)
* ''type'' the code of the [[Question_types|question type]]
* ''class'' the question css class
* ''code' the question code
* ''man_class'' the mandatory css class (mandatory and/or missing or empty)
* ''input_error_class'' the input error css class (input-error or empty)
* ''answers'' the complete HTML answers part
* ''help'' the question help text, by LimeSurvey
* ''man_message'' the mandatory error message
* ''valid_message'' the question validation HTML message (ExpressionScript)
* ''file_valid_message'' the question validation HTML message for upload question type
* ''aHtmlOptions'' The actual option for the question part in array


'''Possible output'''
'''Possible output'''
* ''text'' new text for the question : in template :  <code><nowiki>{{ aQuestion.text | raw }}</nowiki></code>
* ''questionhelp'' : new question help {QUESTIONHELP}
* ''class'' new question css class for the question : in template : <code><nowiki>{{ aQuestion.class }}</nowiki></code>
* ''man_class'' new question css class for the question : in template {QUESTION_MAN_CLASS}
* ''input_error_class'' new question css class for the question : in template <code><nowiki>{{ aQuestion.input_error_class }}</nowiki></code>
* ''answers'' new HTML for answer part rendering  : <code><nowiki>{{ aQuestion.answer | raw}}</nowiki></code>
* ''help'' new help text for the question :  <code><nowiki>{{ aQuestion.help.text | raw }}</nowiki></code>
* ''man_message'' new mandatory message : <code><nowiki>{{ aQuestion.man_message        | raw }}</nowiki></code>
* ''valid_message'' new validation html message : <code><nowiki>{{ aQuestion.valid_message        | raw }}</nowiki></code>
* ''file_valid_message'' new validation html message for upload question type : <code><nowiki>{{ aQuestion.file_valid_message        | raw }}</nowiki></code>
* ''mandatory'' HTML to produce for mandatory <code><nowiki>{{ aQuestion.mandatory }}</nowiki></code>
* ''aHtmlOptions'' New wrapper html options (in array), id was replaced by core system and can not be added here <code><nowiki>{{ aQuestion.attributes }}</nowiki></code> {{newIn|3.5.5}}
'''Example'''
<syntaxhighlight lang="php">
// todo
</syntaxhighlight>


* ''text'' new text for the question
[[Category:Plugins events]]
* ''class'' new question css class for the question
* ''help'' new help text for the question
* ''mandatory'' if question is mandatory (boolean, not null).

Revision as of 15:40, 11 February 2020

TODO: This event is not completely compatible with 3.x yet.

When

This event is triggered when a question part from the template is displayed.

Input

The event receives the following information:

  • surveyId the id of the current survey
  • type the code of the question type
  • code the question code
  • qid the id of the current question
  • gid the id of the current group
  • text the question text
  • questionhelp the question help (by admin user)
  • class the question css class
  • man_class the mandatory css class (mandatory and/or missing or empty)
  • input_error_class the input error css class (input-error or empty)
  • answers the complete HTML answers part
  • help the question help text, by LimeSurvey
  • man_message the mandatory error message
  • valid_message the question validation HTML message (ExpressionScript)
  • file_valid_message the question validation HTML message for upload question type
  • aHtmlOptions The actual option for the question part in array

Possible output

  • text new text for the question : in template : {{ aQuestion.text | raw }}
  • questionhelp : new question help {QUESTIONHELP}
  • class new question css class for the question : in template : {{ aQuestion.class }}
  • man_class new question css class for the question : in template {QUESTION_MAN_CLASS}
  • input_error_class new question css class for the question : in template {{ aQuestion.input_error_class }}
  • answers new HTML for answer part rendering  : {{ aQuestion.answer | raw}}
  • help new help text for the question : {{ aQuestion.help.text | raw }}
  • man_message new mandatory message : {{ aQuestion.man_message | raw }}
  • valid_message new validation html message : {{ aQuestion.valid_message | raw }}
  • file_valid_message new validation html message for upload question type : {{ aQuestion.file_valid_message | raw }}
  • mandatory HTML to produce for mandatory {{ aQuestion.mandatory }}
  • aHtmlOptions New wrapper html options (in array), id was replaced by core system and can not be added here {{ aQuestion.attributes }} (New in 3.5.5 )

Example

// todo