Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
qbehaviour_renderer Class Reference

Renderer base class for question behaviours. More...

Inheritance diagram for qbehaviour_renderer:
plugin_renderer_base renderer_base qbehaviour_adaptive_renderer qbehaviour_deferredcbm_renderer qbehaviour_deferredfeedback_renderer qbehaviour_immediatefeedback_renderer qbehaviour_informationitem_renderer qbehaviour_interactive_renderer qbehaviour_manualgraded_renderer qbehaviour_missing_renderer

Public Member Functions

 __call ($method, $arguments)
 Magic method used to pass calls otherwise meant for the standard renderer to it to ensure we don't go causing unnecessary grief.
 
 add_action_handler (component_action $action, $id=null)
 Adds a JS action for the element with the provided id.
 
 controls (question_attempt $qa, question_display_options $options)
 Generate some HTML (which may be blank) that appears in the question formulation area, afer the question type generated output.
 
 feedback (question_attempt $qa, question_display_options $options)
 Generate some HTML (which may be blank) that appears in the outcome area, after the question-type generated output.
 
 get_compact_logo_url ($maxwidth=300, $maxheight=300)
 Return the site's compact logo URL, if any.
 
 get_logo_url ($maxwidth=null, $maxheight=200)
 Return the site's logo URL, if any.
 
 has_started ()
 Returns true is output has already started, and false if not.
 
 head_code (question_attempt $qa)
 Return any HTML that needs to be included in the page's <head> when questions using this model are used.
 
 image_url ($imagename, $component='moodle')
 Return the moodle_url for an image.
 
 manual_comment (question_attempt $qa, question_display_options $options)
 Display the manual comment, and a link to edit it, if appropriate.
 
 manual_comment_fields (question_attempt $qa, question_display_options $options)
 
 manual_comment_view (question_attempt $qa, question_display_options $options)
 
 mark_out_of_max (question_attempt $qa, core_question_renderer $qoutput, question_display_options $options)
 Generate the display of the marks for this question out of the available marks.
 
 mark_summary (question_attempt $qa, core_question_renderer $qoutput, question_display_options $options)
 Generate the display of the marks for this question.
 
 marked_out_of_max (question_attempt $qa, core_question_renderer $qoutput, question_display_options $options)
 Generate the display of the available marks for this question.
 
 pix_url ($imagename, $component='moodle')
 Return the direct URL for an image from the pix folder.
 
 render (renderable $widget)
 Renders the provided widget and returns the HTML to display it.
 
 render_from_template ($templatename, $context)
 Renders a template by name with the given context.
 
 should_display_main_logo ($headinglevel=1)
 Whether we should display the main logo.
 
 should_display_navbar_logo ()
 Whether we should display the logo in the navbar.
 

Static Public Member Functions

static prepare_classes ($classes)
 Given an array or space-separated list of classes, prepares and returns the HTML class attribute value.
 

Protected Member Functions

 get_mustache ()
 Return an instance of the mustache class.
 
 submit_button (question_attempt $qa, question_display_options $options)
 Several behaviours need a submit button, so put the common code here.
 

Protected Attributes

xhtml_container_stack $opencontainers
 The xhtml_container_stack to use.
 
renderer_base core_renderer $output
 A reference to the current renderer.
 
moodle_page $page
 The Moodle page the renderer has been created to assist with.
 
string $target
 The requested rendering target.
 
array $templatecache = []
 $templatecache The mustache template cache.
 

Detailed Description

Renderer base class for question behaviours.

The methods in this class are mostly called from core_question_renderer which coordinates the overall output of questions.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ __call()

plugin_renderer_base::__call ( $method,
$arguments )
inherited

Magic method used to pass calls otherwise meant for the standard renderer to it to ensure we don't go causing unnecessary grief.

Parameters
string$method
array$arguments
Return values
mixed

◆ add_action_handler()

renderer_base::add_action_handler ( component_action $action,
$id = null )
inherited

Adds a JS action for the element with the provided id.

This method adds a JS event for the provided component action to the page and then returns the id that the event has been attached to. If no id has been provided then a new ID is generated by html_writer::random_id()

Parameters
component_action$action
string$id
Return values
stringid of element, either original submitted or random new if not supplied

◆ controls()

qbehaviour_renderer::controls ( question_attempt $qa,
question_display_options $options )

Generate some HTML (which may be blank) that appears in the question formulation area, afer the question type generated output.

For example. immediatefeedback and interactive mode use this to show the Submit button, and CBM use this to display the certainty choices.

Parameters
question_attempt$qaa question attempt.
question_display_options$optionscontrols what should and should not be displayed.
Return values
stringHTML fragment.

Reimplemented in qbehaviour_adaptive_renderer, qbehaviour_deferredcbm_renderer, qbehaviour_immediatecbm_renderer, qbehaviour_immediatefeedback_renderer, qbehaviour_informationitem_renderer, qbehaviour_interactive_renderer, and qbehaviour_missing_renderer.

◆ feedback()

qbehaviour_renderer::feedback ( question_attempt $qa,
question_display_options $options )

Generate some HTML (which may be blank) that appears in the outcome area, after the question-type generated output.

For example, the CBM models use this to display an explanation of the score adjustment that was made based on the certainty selected.

Parameters
question_attempt$qaa question attempt.
question_display_options$optionscontrols what should and should not be displayed.
Return values
stringHTML fragment.

Reimplemented in qbehaviour_adaptive_renderer, qbehaviour_deferredcbm_renderer, and qbehaviour_interactive_renderer.

◆ get_compact_logo_url()

renderer_base::get_compact_logo_url ( $maxwidth = 300,
$maxheight = 300 )
inherited

Return the site's compact logo URL, if any.

Parameters
int$maxwidthThe maximum width, or null when the maximum width does not matter.
int$maxheightThe maximum height, or null when the maximum height does not matter.
Return values
moodle_url|false

◆ get_logo_url()

renderer_base::get_logo_url ( $maxwidth = null,
$maxheight = 200 )
inherited

Return the site's logo URL, if any.

Parameters
int$maxwidthThe maximum width, or null when the maximum width does not matter.
int$maxheightThe maximum height, or null when the maximum height does not matter.
Return values
moodle_url|false

◆ get_mustache()

renderer_base::get_mustache ( )
protectedinherited

Return an instance of the mustache class.

Since
2.9
Return values
Mustache_Engine

◆ has_started()

renderer_base::has_started ( )
inherited

Returns true is output has already started, and false if not.

Return values
booleantrue if the header has been printed.

◆ head_code()

qbehaviour_renderer::head_code ( question_attempt $qa)

Return any HTML that needs to be included in the page's <head> when questions using this model are used.

Parameters
$qathe question attempt that will be displayed on the page.
Return values
stringHTML fragment.

◆ image_url()

renderer_base::image_url ( $imagename,
$component = 'moodle' )
inherited

Return the moodle_url for an image.

The exact image location and extension is determined automatically by searching for gif|png|jpg|jpeg, please note there can not be diferent images with the different extension. The imagename is for historical reasons a relative path name, it may be changed later for core images. It is recommended to not use subdirectories in plugin and theme pix directories.

There are three types of images: 1/ theme images - stored in theme/mytheme/pix/, use component 'theme' 2/ core images - stored in /pix/, overridden via theme/mytheme/pix_core/ 3/ plugin images - stored in mod/mymodule/pix, overridden via theme/mytheme/pix_plugins/mod/mymodule/, example: image_url('comment', 'mod_glossary')

Parameters
string$imagenamethe pathname of the image
string$componentfull plugin name (aka component) or 'theme'
Return values
moodle_url

◆ manual_comment()

qbehaviour_renderer::manual_comment ( question_attempt $qa,
question_display_options $options )

Display the manual comment, and a link to edit it, if appropriate.

Parameters
question_attempt$qaa question attempt.
question_display_options$optionscontrols what should and should not be displayed.
Return values
stringHTML fragment.

◆ mark_out_of_max()

qbehaviour_renderer::mark_out_of_max ( question_attempt $qa,
core_question_renderer $qoutput,
question_display_options $options )

Generate the display of the marks for this question out of the available marks.

Parameters
question_attempt$qathe question attempt to display.
core_question_renderer$qoutputthe renderer for standard parts of questions.
question_display_options$optionscontrols what should and should not be displayed.
Return values
HTMLfragment.

Reimplemented in qbehaviour_deferredcbm_renderer.

◆ mark_summary()

qbehaviour_renderer::mark_summary ( question_attempt $qa,
core_question_renderer $qoutput,
question_display_options $options )

Generate the display of the marks for this question.

Parameters
question_attempt$qathe question attempt to display.
core_question_renderer$qoutputthe renderer for standard parts of questions.
question_display_options$optionscontrols what should and should not be displayed.
Return values
HTMLfragment.

◆ marked_out_of_max()

qbehaviour_renderer::marked_out_of_max ( question_attempt $qa,
core_question_renderer $qoutput,
question_display_options $options )

Generate the display of the available marks for this question.

Parameters
question_attempt$qathe question attempt to display.
core_question_renderer$qoutputthe renderer for standard parts of questions.
question_display_options$optionscontrols what should and should not be displayed.
Return values
HTMLfragment.

Reimplemented in qbehaviour_deferredcbm_renderer.

◆ pix_url()

renderer_base::pix_url ( $imagename,
$component = 'moodle' )
inherited

Return the direct URL for an image from the pix folder.

Use this function sparingly and never for icons. For icons use pix_icon or the pix helper in a mustache template.

Deprecated
since Moodle 3.3
Parameters
string$imagenamethe name of the icon.
string$componentspecification of one plugin like in get_string()
Return values
moodle_url

◆ prepare_classes()

static renderer_base::prepare_classes ( $classes)
staticinherited

Given an array or space-separated list of classes, prepares and returns the HTML class attribute value.

Parameters
mixed$classesSpace-separated string or array of classes
Return values
stringHTML class attribute value

◆ render()

plugin_renderer_base::render ( renderable $widget)
inherited

Renders the provided widget and returns the HTML to display it.

Parameters
renderable$widgetinstance with renderable interface
Return values
string

Reimplemented from renderer_base.

Reimplemented in core_courseformat\output\section_renderer, and tool_policy\output\renderer.

◆ render_from_template()

renderer_base::render_from_template ( $templatename,
$context )
inherited

Renders a template by name with the given context.

The provided data needs to be array/stdClass made up of only simple types. Simple types are array,stdClass,bool,int,float,string

Since
2.9
Parameters
array | stdClass$contextContext containing data for the template.
Return values
string|boolean

◆ should_display_main_logo()

renderer_base::should_display_main_logo ( $headinglevel = 1)
inherited

Whether we should display the main logo.

Deprecated
since Moodle 4.0
Todo
final deprecation. To be removed in Moodle 4.4 MDL-73165.
Parameters
int$headinglevelThe heading level we want to check against.
Return values
bool

◆ should_display_navbar_logo()

renderer_base::should_display_navbar_logo ( )
inherited

Whether we should display the logo in the navbar.

We will when there are no main logos, and we have compact logo.

Return values
bool

◆ submit_button()

qbehaviour_renderer::submit_button ( question_attempt $qa,
question_display_options $options )
protected

Several behaviours need a submit button, so put the common code here.

The button is disabled if the question is displayed read-only.

Parameters
question_display_options$optionscontrols what should and should not be displayed.
Return values
stringHTML fragment.

Member Data Documentation

◆ $output

renderer_base core_renderer plugin_renderer_base::$output
protectedinherited

A reference to the current renderer.

The renderer provided here will be determined by the page but will in 90% of cases by the core_renderer


The documentation for this class was generated from the following file: