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

Simple base class for Moodle renderers. More...

Inheritance diagram for renderer_base:
core_renderer plugin_renderer_base core_renderer_ajax core_renderer_cli core_renderer_maintenance assignfeedback_editpdf_renderer assignfeedback_file_renderer auth_lti\output\renderer auth_oauth2\output\renderer block_lp\output\renderer block_myoverview\output\renderer block_myprofile\output\renderer block_navigation_renderer block_private_files_renderer block_recent_activity_renderer block_recentlyaccessedcourses\output\renderer block_recentlyaccesseditems\output\renderer block_rss_client\output\renderer block_search_forums\output\renderer block_section_links_renderer block_settings_renderer block_starredcourses\output\renderer block_timeline\output\renderer booktool_print\output\renderer core_admin_renderer core_availability_renderer core_backup_renderer core_badges_renderer core_blog_renderer core_cache\output\renderer core_calendar_renderer core_course\output\recommendations\renderer core_course_bulk_activity_completion_renderer core_course_management_renderer core_course_renderer core_customfield\output\renderer core_enrol_renderer core_files_renderer core_grades_renderer core_grading_renderer core_group\output\renderer core_h5p\output\renderer core_message_renderer core_privacy\output\renderer core_question_bank_renderer core_question_renderer core_reportbuilder\output\renderer core_rss_renderer core_search\output\renderer core_tag_renderer core_user\output\myprofile\renderer core_user_renderer core_webservice_renderer enrol_lti\output\renderer forumreport_summary_renderer gradeimport_csv_renderer gradereport_history\output\renderer gradereport_overview_renderer gradereport_singleview_renderer gradereport_user_renderer gradingform_guide_renderer gradingform_rubric_renderer message_email\output\renderer mod_assign\output\renderer mod_bigbluebuttonbn\output\renderer mod_book\output\renderer mod_chat_renderer mod_choice_renderer mod_data_renderer mod_feedback\output\renderer mod_folder_renderer mod_forum_renderer mod_glossary\output\renderer mod_lesson_renderer mod_lti\output\renderer mod_quiz\output\edit_renderer mod_quiz\output\renderer mod_scorm_renderer mod_survey_renderer mod_wiki_renderer mod_workshop_renderer qbank_bulkmove\output\renderer qbank_columnsortorder\output\renderer qbank_comment\output\renderer qbank_customfields\output\renderer qbank_editquestion\output\renderer qbank_history\output\renderer qbank_previewquestion\output\renderer qbank_statistics\output\renderer qbank_usage\output\renderer qbank_viewcreator\output\renderer qbehaviour_renderer qtype_essay_format_renderer_base qtype_renderer quiz_grading_renderer report_competency\output\renderer report_eventlist_renderer report_infectedfiles\output\renderer report_insights\output\renderer report_log_renderer report_loglive_renderer report_loglive_renderer_ajax report_progress\output\renderer tool_analytics\output\renderer tool_behat_renderer tool_brickfield\output\renderer tool_capability_renderer tool_cohortroles\output\renderer tool_customlang\output\renderer tool_dataprivacy\output\renderer tool_filetypes_renderer tool_installaddon_renderer tool_langimport\output\renderer tool_licensemanager\output\renderer tool_lp\output\renderer tool_lpmigrate\output\renderer tool_messageinbound_renderer tool_mobile\output\renderer tool_monitor\output\managerules\renderer tool_monitor\output\managesubs\renderer tool_moodlenet\output\renderer tool_oauth2\output\renderer tool_policy\output\renderer tool_task_renderer tool_templatelibrary\output\renderer tool_usertours\output\renderer

Public Member Functions

 __construct (moodle_page $page, $target)
 Constructor.
 
 add_action_handler (component_action $action, $id=null)
 Adds a JS action for the element with the provided id.
 
 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.
 
 image_url ($imagename, $component='moodle')
 Return the moodle_url for an image.
 
 pix_url ($imagename, $component='moodle')
 Return the direct URL for an image from the pix folder.
 
 render (renderable $widget)
 Returns rendered widget.
 
 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.
 

Protected Attributes

xhtml_container_stack $opencontainers
 The xhtml_container_stack to use.
 
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

Simple base class for Moodle renderers.

Tracks the xhtml_container_stack to use, which is passed in in the constructor.

Also has methods to facilitate generating HTML output.

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

Constructor & Destructor Documentation

◆ __construct()

renderer_base::__construct ( moodle_page $page,
$target )

Constructor.

The constructor takes two arguments. The first is the page that the renderer has been created to assist with, and the second is the target. The target is an additional identifier that can be used to load different renderers for different options.

Parameters
moodle_page$pagethe page we are doing output for.
string$targetone of rendering target constants

Reimplemented in core_course_renderer, core_courseformat\output\section_renderer, core_renderer, core_renderer_maintenance, format_topics\output\renderer, and plugin_renderer_base.

Member Function Documentation

◆ add_action_handler()

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

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

◆ get_compact_logo_url()

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

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 )

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 ( )
protected

Return an instance of the mustache class.

Since
2.9
Return values
Mustache_Engine

◆ has_started()

renderer_base::has_started ( )

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

Return values
booleantrue if the header has been printed.

◆ image_url()

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

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

◆ pix_url()

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

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)
static

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()

renderer_base::render ( renderable $widget)

Returns rendered widget.

The provided widget needs to be an object that extends the renderable interface. If will then be rendered by a method based upon the classname for the widget. For instance a widget of class crazywidget will be rendered by a protected render_crazywidget method of this renderer. If no render_crazywidget method exists and crazywidget implements templatable, look for the 'crazywidget' template in the same component and render that.

Parameters
renderable$widgetinstance with renderable interface
Return values
string

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

◆ render_from_template()

renderer_base::render_from_template ( $templatename,
$context )

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)

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 ( )

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

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