Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
|
Public Member Functions | |
__construct (theme_config $theme) | |
Constructor. More... | |
get_renderer (moodle_page $page, $component, $subtype=null, $target=null) | |
Return the renderer for a particular part of Moodle. More... | |
Protected Member Functions | |
get_target_suffix ($target) | |
Returns suffix of renderer class expected for given target. More... | |
standard_renderer_classnames ($component, $subtype=null) | |
For a given module name, return the possible class names that defines the renderer interface for that module. More... | |
Protected Attributes | |
theme_config | $theme |
The theme we belong to. | |
renderer_factory_base::__construct | ( | theme_config | $theme | ) |
Constructor.
theme_config | $theme | the theme we belong to. |
Reimplemented in theme_overridden_renderer_factory.
|
inherited |
Return the renderer for a particular part of Moodle.
The renderer interfaces are defined by classes called {plugin}_renderer where {plugin} is the name of the component. The renderers for core Moodle are defined in lib/renderer.php. For plugins, they will be defined in a file called renderer.php inside the plugin.
Renderers will normally want to subclass the renderer_base class. (However, if you really know what you are doing, you don't have to do that.)
There is no separate interface definition for renderers. The default {plugin}_renderer implementation also serves to define the API for other implementations of the interface, whether or not they subclass it.
A particular plugin can define multiple renderers if it wishes, using the $subtype parameter. For example workshop_renderer, workshop_allocation_manual_renderer etc.
moodle_page | $page | the page the renderer is outputting content for. |
string | $component | name such as 'core', 'mod_forum' or 'qtype_multichoice'. |
string | $subtype | optional subtype such as 'news' resulting to 'mod_forum_news' |
string | $target | one of rendering target constants |
renderer_base | an object implementing the requested renderer interface. |
Implemented in standard_renderer_factory, and theme_overridden_renderer_factory.
|
protected |
Returns suffix of renderer class expected for given target.
string | $target | one of the renderer target constants, target is guessed if null used |
array | two element array, first element is target, second the target suffix string |
|
protected |
For a given module name, return the possible class names that defines the renderer interface for that module.
Newer auto-loaded class names are returned as well as the old style _renderable classnames.
Also, if it exists, include the renderer.php file for that module, so the class definition of the default renderer has been loaded.
string | $component | name such as 'core', 'mod_forum' or 'qtype_multichoice'. |
string | $subtype | optional subtype such as 'news' resulting to: '::mod_forum::output::news_renderer' or '::mod_forum::output::news::renderer' or non-autoloaded 'mod_forum_news' |
array[] | Each element of the array is an array with keys: classname - The class name to search autoloaded - Does this classname assume autoloading? validwithprefix - Is this class name valid when a prefix is added to it? validwithoutprefix - Is this class name valid when no prefix is added to it? |
coding_exception |