General developer forum

Overriding function in boost theme

Picture of Tobias Marx
Overriding function in boost theme


so the boost theme already extends the core renderer and the course_renderer. In "/theme/boost/classes/output/core/course_renderer.php" there is a custom version of the course_search_form() function which overrides the version in "/course/renderer.php".

Now I would like to add my custom version of the "get_category_formatted_description()" function which is also defined in "/course/renderer.php".

So I've copied the function into "/theme/boost/classes/output/core/course_renderer.php" and changed it slightly, but nothing happens. The changes are just ignored.

What am I doing wrong?

Here is the function (I've changed "return format_text($text, $descriptionformat, $options) to return format_text("MyCustomText", $descriptionformat, $options):


     * Returns formatted and filtered description of the given category


     * @param coursecat $coursecat category

     * @param stdClass|array $options format options, by default [noclean,overflowdiv],

     *     if context is not specified it will be added automatically

     * @return string|null


    public function get_category_formatted_description($coursecat, $options = null) {

        if ($coursecat->id && !empty($coursecat->description)) {

            if (!isset($coursecat->descriptionformat)) {

                $descriptionformat = FORMAT_MOODLE;

            } else {

                $descriptionformat = $coursecat->descriptionformat;


            if ($options === null) {

                $options = array('noclean' => true, 'overflowdiv' => true);

            } else {

                $options = (array)$options;


            $context = context_coursecat::instance($coursecat->id);

            if (!isset($options['context'])) {

                $options['context'] = $context;


            $text = file_rewrite_pluginfile_urls($coursecat->description,

                    'pluginfile.php', $context->id, 'coursecat', 'description', null);

            return format_text("MyCustomText", $descriptionformat, $options);


        return null;


Average of ratings: -
Picture of Mark Sharp
Re: Overriding function in boost theme
Core developersParticularly helpful MoodlersPlugin developers

It's because that function isn't in the core_course_renderer class. It's in the coursecat_helper class (in the same file).

I'm not sure how that would get overridden. Not sure it can.

Average of ratings: -
Picture of Tobias Marx
Re: Overriding function in boost theme

Thanks for the hint!

I've just given up, though. Without proper documentation this is just not doable with my limited programming skills.



Average of ratings: -