Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
core_course_renderer Class Reference

The core course renderer. More...

Inheritance diagram for core_course_renderer:
plugin_renderer_base renderer_base core_courseformat\output\section_renderer core_courseformat\output\legacy_renderer core_courseformat\output\site_renderer format_singleactivity\output\renderer format_social\output\renderer format_topics\output\renderer format_weeks\output\renderer

Public Member Functions

 __construct (moodle_page $page, $target)
 Override the constructor so that we can initialise the string cache.
 
 __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.
 
 add_new_course_button ()
 Returns HTML to the "add new course" button for the page.
 
 availability_info ($text, $additionalclasses='')
 
 course_activitychooser ($courseid)
 Build the HTML for the module chooser javascript popup.
 
 course_category ($category)
 Renders HTML to display particular course category - list of it's subcategories and courses.
 
 course_category_tree (array $ignored)
 Renderers a structured array of courses and categories into a nice XHTML tree structure.
 
 course_info_box (stdClass $course)
 Renders course info box.
 
 course_modchooser ()
 
 course_search_form ($value='')
 Renders html to display a course search form.
 
 course_section_add_cm_control ($course, $section, $sectionreturn=null, $displayoptions=array())
 Renders HTML for the menus to add activities and resources to the current course.
 
 course_section_cm ($course, &$completioninfo, cm_info $mod, $sectionreturn, $displayoptions=[])
 
 course_section_cm_availability (cm_info $mod, $displayoptions=array())
 
 course_section_cm_completion ()
 
 course_section_cm_edit_actions ($actions, cm_info $mod=null, $displayoptions=array())
 
 course_section_cm_list ($course, $section, $sectionreturn=null, $displayoptions=[])
 
 course_section_cm_list_item ($course, &$completioninfo, cm_info $mod, $sectionreturn, $displayoptions=[])
 
 course_section_cm_name (cm_info $mod, $displayoptions=array())
 
 course_section_cm_name_title (cm_info $mod, $displayoptions=array())
 
 course_section_cm_text (cm_info $mod, $displayoptions=array())
 
 course_section_cm_unavailable_error_message (cm_info $cm)
 Message displayed to the user when they try to access unavailable activity following URL.
 
 coursecat_ajax ()
 Serves requests to /course/category.ajax.php.
 
 courses_list ($courses, $showcategoryname=false, $additionalclasses=null, $paginationurl=null, $totalcount=null, $page=0, $perpage=null)
 Displays a custom list of courses with paging bar if necessary.
 
 frontpage ()
 Outputs contents for frontpage as configured in $CFG->frontpage or $CFG->frontpageloggedin.
 
 frontpage_available_courses ()
 Returns HTML to print list of available courses for the frontpage.
 
 frontpage_categories_list ()
 Returns HTML to print tree of course categories (with number of courses) for the frontpage.
 
 frontpage_combo_list ()
 Returns HTML to print tree with course categories and courses for the frontpage.
 
 frontpage_my_courses ()
 Returns HTML to print list of courses user is enrolled to for the frontpage.
 
 frontpage_section1 ()
 Output frontpage summary text and frontpage modules (stored as section 1 in site course)
 
 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.
 
 get_page ()
 Returns the moodle page object.
 
 has_started ()
 Returns true is output has already started, and false if not.
 
 hubinfo ($hubinfo)
 Hub information (logo - name - description - link)
 
 image_url ($imagename, $component='moodle')
 Return the moodle_url for an image.
 
 is_cm_conditionally_hidden (cm_info $mod)
 
 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_activity_information (\core_course\output\activity_information $page)
 Renders the activity information.
 
 render_activity_navigation (\core_course\output\activity_navigation $page)
 Renders the activity navigation.
 
 render_from_template ($templatename, $context)
 Renders a template by name with the given context.
 
 render_modchooser (renderable $modchooser)
 Render a modchooser.
 
 search_courses ($searchcriteria)
 Renders html to display search result page.
 
 sendingbackupinfo ($backupfile)
 Display waiting information about backup size during uploading backup process.
 
 should_display_main_logo ()
 
 should_display_navbar_logo ()
 Whether we should display the logo in the navbar.
 
 tagged_courses ($tagid, $exclusivemode=true, $ctx=0, $rec=true, $displayoptions=null)
 Renders html to print list of courses tagged with particular tag.
 

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.
 

Public Attributes

const COURSECAT_SHOW_COURSES_AUTO = 15
 
const COURSECAT_SHOW_COURSES_COLLAPSED = 10
 
const COURSECAT_SHOW_COURSES_COUNT = 5
 
const COURSECAT_SHOW_COURSES_EXPANDED = 20
 
const COURSECAT_SHOW_COURSES_EXPANDED_WITH_CAT = 30
 
const COURSECAT_SHOW_COURSES_NONE = 0
 
const COURSECAT_TYPE_CATEGORY = 0
 
const COURSECAT_TYPE_COURSE = 1
 

Protected Member Functions

 add_modchoosertoggle ()
 
 course_category_name (coursecat_helper $chelper, core_course_list_element $course)
 Returns HTML to display course category name.
 
 course_category_tree_category (stdClass $category, $depth=1)
 Renderers a category for use with course_category_tree.
 
 course_contacts (core_course_list_element $course)
 Returns HTML to display course contacts.
 
 course_custom_fields (core_course_list_element $course)
 Returns HTML to display course custom fields.
 
 course_enrolment_icons (core_course_list_element $course)
 Returns HTML to display course enrolment icons.
 
 course_modchooser_module ($module, $classes=array('option'))
 Return the HTML for the specified module adding any required classes.
 
 course_modchooser_module_types ($modules)
 Build the HTML for a specified set of modules.
 
 course_modchooser_title ($title, $identifier=null)
 
 course_name (coursecat_helper $chelper, core_course_list_element $course)
 Returns HTML to display course name.
 
 course_overview_files (core_course_list_element $course)
 Returns HTML to display course overview files.
 
 course_section_cm_classes (cm_info $mod)
 
 course_summary (coursecat_helper $chelper, core_course_list_element $course)
 Returns HTML to display course summary.
 
 coursecat_category (coursecat_helper $chelper, $coursecat, $depth)
 Returns HTML to display a course category as a part of a tree.
 
 coursecat_category_content (coursecat_helper $chelper, $coursecat, $depth)
 Returns HTML to display the subcategories and courses in the given category.
 
 coursecat_coursebox (coursecat_helper $chelper, $course, $additionalclasses='')
 Displays one course in the list of courses.
 
 coursecat_coursebox_content (coursecat_helper $chelper, $course)
 Returns HTML to display course content (summary, course contacts and optionally category name)
 
 coursecat_courses (coursecat_helper $chelper, $courses, $totalcount=null)
 Renders the list of courses.
 
 coursecat_include_js ()
 Make sure that javascript file for AJAX expanding of courses and categories content is included.
 
 coursecat_subcategories (coursecat_helper $chelper, $coursecat, $depth)
 Renders the list of subcategories in a category.
 
 coursecat_tree (coursecat_helper $chelper, $coursecat)
 Returns HTML to display a tree of subcategories and courses in the given category.
 
 frontpage_news ($forum)
 Output news for the frontpage (extract from site-wide news forum)
 
 frontpage_part ($skipdivid, $contentsdivid, $header, $contents)
 Renders part of frontpage with a skip link (i.e.
 
 frontpage_remote_course (stdClass $course)
 Returns HTML to display one remote course.
 
 frontpage_remote_host ($host)
 Returns HTML to display one remote host.
 
 get_mustache ()
 Return an instance of the mustache class.
 

Protected Attributes

bool $categoryexpandedonload = false
 Whether a category content is being initially rendered with children.
 
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.
 
stdClass $strings
 A cache of strings.
 
string $target
 The requested rendering target.
 
array $templatecache = []
 $templatecache The mustache template cache.
 

Detailed Description

The core course renderer.

Can be retrieved with the following: $renderer = $PAGE->get_renderer('core','course');

Constructor & Destructor Documentation

◆ __construct()

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

Override the constructor so that we can initialise the string cache.

Parameters
moodle_page$page
string$target

Reimplemented from plugin_renderer_base.

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

Member Function Documentation

◆ add_modchoosertoggle()

core_course_renderer::add_modchoosertoggle ( )
protected
Deprecated
since 3.2

◆ add_new_course_button()

core_course_renderer::add_new_course_button ( )

Returns HTML to the "add new course" button for the page.

Return values
string

◆ availability_info()

core_course_renderer::availability_info ( $text,
$additionalclasses = '' )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_activitychooser()

core_course_renderer::course_activitychooser ( $courseid)

Build the HTML for the module chooser javascript popup.

Parameters
int$courseidThe course id to fetch modules for.
Return values
string

◆ course_category()

core_course_renderer::course_category ( $category)

Renders HTML to display particular course category - list of it's subcategories and courses.

Invoked from /course/index.php

Parameters
int | stdClass | core_course_category$category

◆ course_category_name()

core_course_renderer::course_category_name ( coursecat_helper $chelper,
core_course_list_element $course )
protected

Returns HTML to display course category name.

Parameters
coursecat_helper$chelper
core_course_list_element$course
Return values
string

◆ course_category_tree()

core_course_renderer::course_category_tree ( array $ignored)
final

Renderers a structured array of courses and categories into a nice XHTML tree structure.

Deprecated
since 2.5
Parameters
array$ignoredargument ignored
Return values
string

◆ course_category_tree_category()

core_course_renderer::course_category_tree_category ( stdClass $category,
$depth = 1 )
finalprotected

Renderers a category for use with course_category_tree.

Deprecated
since 2.5
Parameters
array$category
int$depth
Return values
string

◆ course_contacts()

core_course_renderer::course_contacts ( core_course_list_element $course)
protected

Returns HTML to display course contacts.

Parameters
core_course_list_element$course
Return values
string

◆ course_custom_fields()

core_course_renderer::course_custom_fields ( core_course_list_element $course)
protected

Returns HTML to display course custom fields.

Parameters
core_course_list_element$course
Return values
string

◆ course_enrolment_icons()

core_course_renderer::course_enrolment_icons ( core_course_list_element $course)
protected

Returns HTML to display course enrolment icons.

Parameters
core_course_list_element$course
Return values
string

◆ course_info_box()

core_course_renderer::course_info_box ( stdClass $course)

Renders course info box.

Parameters
stdClass$course
Return values
string

◆ course_modchooser()

core_course_renderer::course_modchooser ( )
Deprecated
since 3.9

◆ course_modchooser_module()

core_course_renderer::course_modchooser_module ( $module,
$classes = array('option') )
protected

Return the HTML for the specified module adding any required classes.

Parameters
object$moduleAn object containing the title, and link. An icon, and help text may optionally be specified. If the module contains subtypes in the types option, then these will also be displayed.
array$classesAdditional classes to add to the encompassing div element
Return values
stringThe composed HTML for the module

◆ course_modchooser_module_types()

core_course_renderer::course_modchooser_module_types ( $modules)
protected

Build the HTML for a specified set of modules.

Parameters
array$modulesA set of modules as used by the course_modchooser_module function
Return values
stringThe composed HTML for the module

◆ course_name()

core_course_renderer::course_name ( coursecat_helper $chelper,
core_course_list_element $course )
protected

Returns HTML to display course name.

Parameters
coursecat_helper$chelper
core_course_list_element$course
Return values
string

◆ course_overview_files()

core_course_renderer::course_overview_files ( core_course_list_element $course)
protected

Returns HTML to display course overview files.

Parameters
core_course_list_element$course
Return values
string

◆ course_search_form()

core_course_renderer::course_search_form ( $value = '')

Renders html to display a course search form.

Parameters
string$valuedefault value to populate the search field
Return values
string

◆ course_section_add_cm_control()

core_course_renderer::course_section_add_cm_control ( $course,
$section,
$sectionreturn = null,
$displayoptions = array() )

Renders HTML for the menus to add activities and resources to the current course.

Renders the ajax control (the link which when clicked produces the activity chooser modal). No noscript fallback.

Parameters
stdClass$course
int$sectionrelative section number (field course_sections.section)
int$sectionreturnThe section to link back to
array$displayoptionsadditional display options, for example blocks add option 'inblock' => true, suggesting to display controls vertically
Return values
string

◆ course_section_cm()

core_course_renderer::course_section_cm ( $course,
& $completioninfo,
cm_info $mod,
$sectionreturn,
$displayoptions = [] )
Deprecated
since 4.0 - use core_course output components instead.

◆ course_section_cm_availability()

core_course_renderer::course_section_cm_availability ( cm_info $mod,
$displayoptions = array() )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_classes()

core_course_renderer::course_section_cm_classes ( cm_info $mod)
protected
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_completion()

core_course_renderer::course_section_cm_completion ( )
Deprecated
since Moodle 3.11

◆ course_section_cm_edit_actions()

core_course_renderer::course_section_cm_edit_actions ( $actions,
cm_info $mod = null,
$displayoptions = array() )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_list()

core_course_renderer::course_section_cm_list ( $course,
$section,
$sectionreturn = null,
$displayoptions = [] )
Deprecated
since 4.0 - use core_course output components instead.

◆ course_section_cm_list_item()

core_course_renderer::course_section_cm_list_item ( $course,
& $completioninfo,
cm_info $mod,
$sectionreturn,
$displayoptions = [] )
Deprecated
since 4.0 - use core_course output components or course_format\course_section_updated_cm_item instead.

◆ course_section_cm_name()

core_course_renderer::course_section_cm_name ( cm_info $mod,
$displayoptions = array() )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_name_title()

core_course_renderer::course_section_cm_name_title ( cm_info $mod,
$displayoptions = array() )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_text()

core_course_renderer::course_section_cm_text ( cm_info $mod,
$displayoptions = array() )
Deprecated
since 4.0 - please do not use this function any more.

◆ course_section_cm_unavailable_error_message()

core_course_renderer::course_section_cm_unavailable_error_message ( cm_info $cm)

Message displayed to the user when they try to access unavailable activity following URL.

This method is a very simplified version of course_section_cm() to be part of the error notification only. It also does not check if module is visible on course page or not.

The message will be displayed inside notification!

Parameters
cm_info$cm
Return values
string

◆ course_summary()

core_course_renderer::course_summary ( coursecat_helper $chelper,
core_course_list_element $course )
protected

Returns HTML to display course summary.

Parameters
coursecat_helper$chelper
core_course_list_element$course
Return values
string

◆ coursecat_ajax()

core_course_renderer::coursecat_ajax ( )

Serves requests to /course/category.ajax.php.

In this renderer implementation it may expand the category content or course content.

Return values
string
Exceptions
coding_exception

◆ coursecat_category()

core_course_renderer::coursecat_category ( coursecat_helper $chelper,
$coursecat,
$depth )
protected

Returns HTML to display a course category as a part of a tree.

This is an internal function, to display a particular category and all its contents use core_course_renderer::course_category()

Parameters
coursecat_helper$chelpervarious display options
core_course_category$coursecat
int$depthdepth of this category in the current tree
Return values
string

◆ coursecat_category_content()

core_course_renderer::coursecat_category_content ( coursecat_helper $chelper,
$coursecat,
$depth )
protected

Returns HTML to display the subcategories and courses in the given category.

This method is re-used by AJAX to expand content of not loaded category

Parameters
coursecat_helper$chelpervarious display options
core_course_category$coursecat
int$depthdepth of the category in the current tree
Return values
string

◆ coursecat_coursebox()

core_course_renderer::coursecat_coursebox ( coursecat_helper $chelper,
$course,
$additionalclasses = '' )
protected

Displays one course in the list of courses.

This is an internal function, to display an information about just one course please use core_course_renderer::course_info_box()

Parameters
coursecat_helper$chelpervarious display options
core_course_list_element | stdClass$course
string$additionalclassesadditional classes to add to the main
tag (usually depend on the course position in list - first/last/even/odd)
Return values
string

◆ coursecat_coursebox_content()

core_course_renderer::coursecat_coursebox_content ( coursecat_helper $chelper,
$course )
protected

Returns HTML to display course content (summary, course contacts and optionally category name)

This method is called from coursecat_coursebox() and may be re-used in AJAX

Parameters
coursecat_helper$chelpervarious display options
stdClass | core_course_list_element$course
Return values
string

◆ coursecat_courses()

core_course_renderer::coursecat_courses ( coursecat_helper $chelper,
$courses,
$totalcount = null )
protected

Renders the list of courses.

This is internal function, please use core_course_renderer::courses_list() or another public method from outside of the class

If list of courses is specified in $courses; the argument $chelper is only used to retrieve display options and attributes, only methods get_show_courses(), get_courses_display_option() and get_and_erase_attributes() are called.

Parameters
coursecat_helper$chelpervarious display options
array$coursesthe list of courses to display
int | null$totalcounttotal number of courses (affects display mode if it is AUTO or pagination if applicable), defaulted to count($courses)
Return values
string

◆ coursecat_subcategories()

core_course_renderer::coursecat_subcategories ( coursecat_helper $chelper,
$coursecat,
$depth )
protected

Renders the list of subcategories in a category.

Parameters
coursecat_helper$chelpervarious display options
core_course_category$coursecat
int$depthdepth of the category in the current tree
Return values
string

◆ coursecat_tree()

core_course_renderer::coursecat_tree ( coursecat_helper $chelper,
$coursecat )
protected

Returns HTML to display a tree of subcategories and courses in the given category.

Parameters
coursecat_helper$chelpervarious display options
core_course_category$coursecattop category (this category's name and description will NOT be added to the tree)
Return values
string

◆ courses_list()

core_course_renderer::courses_list ( $courses,
$showcategoryname = false,
$additionalclasses = null,
$paginationurl = null,
$totalcount = null,
$page = 0,
$perpage = null )

Displays a custom list of courses with paging bar if necessary.

If $paginationurl is specified but $totalcount is not, the link 'View more' appears under the list.

If both $paginationurl and $totalcount are specified, and $totalcount is bigger than count($courses), a paging bar is displayed above and under the courses list.

Parameters
array$coursesarray of course records (or instances of core_course_list_element) to show on this page
bool$showcategorynamewhether to add category name to the course description
string$additionalclassesadditional CSS classes to add to the div.courses
moodle_url$paginationurlurl to view more or url to form links to the other pages in paging bar
int$totalcounttotal number of courses on all pages, if omitted $paginationurl will be displayed as 'View more' link
int$pagecurrent page number (defaults to 0 referring to the first page)
int$perpagenumber of records per page (defaults to $CFG->coursesperpage)
Return values
string

◆ frontpage()

core_course_renderer::frontpage ( )

Outputs contents for frontpage as configured in $CFG->frontpage or $CFG->frontpageloggedin.

Return values
string

◆ frontpage_available_courses()

core_course_renderer::frontpage_available_courses ( )

Returns HTML to print list of available courses for the frontpage.

Return values
string

◆ frontpage_categories_list()

core_course_renderer::frontpage_categories_list ( )

Returns HTML to print tree of course categories (with number of courses) for the frontpage.

Return values
string

◆ frontpage_combo_list()

core_course_renderer::frontpage_combo_list ( )

Returns HTML to print tree with course categories and courses for the frontpage.

Return values
string

◆ frontpage_my_courses()

core_course_renderer::frontpage_my_courses ( )

Returns HTML to print list of courses user is enrolled to for the frontpage.

Also lists remote courses or remote hosts if MNET authorisation is used

Return values
string

◆ frontpage_news()

core_course_renderer::frontpage_news ( $forum)
protected

Output news for the frontpage (extract from site-wide news forum)

Parameters
stdClass$forumrecord from db table 'forum' that represents the site news forum
Return values
string

◆ frontpage_part()

core_course_renderer::frontpage_part ( $skipdivid,
$contentsdivid,
$header,
$contents )
protected

Renders part of frontpage with a skip link (i.e.

"My courses", "Site news", etc.)

Parameters
string$skipdivid
string$contentsdivid
string$headerHeader of the part
string$contentsContents of the part
Return values
string

◆ frontpage_remote_course()

core_course_renderer::frontpage_remote_course ( stdClass $course)
protected

Returns HTML to display one remote course.

Parameters
stdClass$courseremote course information, contains properties: id, remoteid, shortname, fullname, hostid, summary, summaryformat, cat_name, hostname
Return values
string

◆ frontpage_remote_host()

core_course_renderer::frontpage_remote_host ( $host)
protected

Returns HTML to display one remote host.

Parameters
array$hosthost information, contains properties: name, url, count
Return values
string

◆ frontpage_section1()

core_course_renderer::frontpage_section1 ( )

Output frontpage summary text and frontpage modules (stored as section 1 in site course)

This may be disabled in settings

Return values
string

◆ hubinfo()

core_course_renderer::hubinfo ( $hubinfo)

Hub information (logo - name - description - link)

Parameters
object$hubinfo
Return values
stringhtml code

◆ is_cm_conditionally_hidden()

core_course_renderer::is_cm_conditionally_hidden ( cm_info $mod)
Deprecated
since 4.0 - please do not use this function any more.

◆ render_activity_information()

core_course_renderer::render_activity_information ( \core_course\output\activity_information $page)

Renders the activity information.

Defer to template.

Deprecated
since Moodle 4.3 MDL-78744
Todo
MDL-78926 This method will be deleted in Moodle 4.7
Parameters
core_course\output\activity_information$page
Return values
stringhtml for the page

◆ render_activity_navigation()

core_course_renderer::render_activity_navigation ( \core_course\output\activity_navigation $page)

Renders the activity navigation.

Defer to template.

Parameters
core_course\output\activity_navigation$page
Return values
stringhtml for the page

◆ render_modchooser()

core_course_renderer::render_modchooser ( renderable $modchooser)

Render a modchooser.

Parameters
renderable$modchooserThe chooser.
Return values
string

◆ search_courses()

core_course_renderer::search_courses ( $searchcriteria)

Renders html to display search result page.

Parameters
array$searchcriteriamay contain elements: search, blocklist, modulelist, tagid
Return values
string

◆ sendingbackupinfo()

core_course_renderer::sendingbackupinfo ( $backupfile)

Display waiting information about backup size during uploading backup process.

Parameters
object$backupfilethe backup stored_file
Return values
$htmlstring

◆ tagged_courses()

core_course_renderer::tagged_courses ( $tagid,
$exclusivemode = true,
$ctx = 0,
$rec = true,
$displayoptions = null )

Renders html to print list of courses tagged with particular tag.

Parameters
int$tagidid of the tag
bool$exclusivemodeif set to true it means that no other entities tagged with this tag are displayed on the page and the per-page limit may be bigger
int$fromctxcontext id where the link was displayed, may be used by callbacks to display items in the same context first
int$ctxcontext id where to search for records
bool$recsearch in subcontexts as well
array$displayoptions
Return values
stringempty string if no courses are marked with this tag or rendered list of courses

Member Data Documentation

◆ $categoryexpandedonload

bool core_course_renderer::$categoryexpandedonload = false
protected

Whether a category content is being initially rendered with children.

This is mainly used by the core_course_renderer\corsecat_tree() to render the appropriate action for the Expand/Collapse all link on page load.


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