Themes: Campus

Maintained by it's me David Bogner, Gareth J Barnard Gareth J Barnard
Campus theme allows you to customize the look and feel of your moodle site as much as possible. It provides an elegant way for designing the header. It is fully responsive and optimised for MNET authentication and provides all common features of modern moodle themes such as slideshow, custom category design, social icons,...
1380 sites
36 fans

This theme is the designers choice. You can make the theme look great, or just really aweful. The theme is designed to have the possibility to reflect the corporate identity as much as possible with providing theme settings to adjust your header to your design needs. Some of the features are:

  • Responsive header divided into background/logo.
  • Font types
  • MNET authentication
  • Full-Screen mode for max working comfort
  • Sub-themes for course categories
  • Frontpage-Slideshow, category slideshow
  • Social Icons


Screenshot #0
Screenshot #1
Screenshot #2


it's me
David Bogner (Lead maintainer)
Gareth J Barnard
Gareth J Barnard: Developer
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Gareth J Barnard
    Fri, 6 Jan 2017, 6:50 AM
    Hi Eric,

    I take it to As I did have a FontAwesome font serving issue which I'd thought I'd fixed. I'll look into it.

  • Picture of Eric-Efrain Solano-Uscanga
    Sat, 7 Jan 2017, 12:45 AM indeed. Thank you very much.
  • Gareth J Barnard
    Wed, 11 Jan 2017, 1:57 AM
    Hi Eric,

    I cannot reproduce. Have you 'Purged all caches'? Are there any errors in the php.log file?


  • Picture of Zolfaghar Salmanian
    Sun, 26 Feb 2017, 12:53 AM
    How can I change fonts family in this theme?
  • Gareth J Barnard
    Sun, 26 Feb 2017, 4:12 AM
    Hi Zolfaghar,

    The theme comes with no support for changes, please post on the themes forum.

    Kind regards,

  • Picture of Saad Zaman
    Fri, 17 Mar 2017, 8:27 PM
    Hi Gareth!

    First of all, the theme is the best i have seen so far for moodle. I was trying to inherit the campus theme and make a child theme out of it. But i could not inherit the less generation aspect of it, if depends on settings and libs and etc etc smile

    So i just wanted to ask is there a recommended way by you or a cleaner way to inherit this theme ? Or is it something not advisable for you ?
  • Gareth J Barnard
    Fri, 17 Mar 2017, 9:29 PM
    Hi Saad,

    Thank you for your kind words.

    To be honest I've never made a child theme of Campus, so cannot technically say either way. In theory it should be possible for the child theme to call the parents functions / methods for LESS generation.

    Kind regards,

  • Picture of Saad Zaman
    Sat, 18 Mar 2017, 2:50 AM
    Thanks A lot for this prompt response - Gareth - I wasn't really expecting a reply so soon.

    The only problem i see while creating child theme is that the function being used for generating less is dependent on settings of the theme. And if i replicate settings on my theme , than i am estimating that it will loose the purpose of inheriting the parent theme ( Campus ) . I mean an update to Campus theme might break many things on child theme. Any comments on it ?

    i think i have to look into it further to see other possibilities.

    Thanks Once Again !!
  • Picture of Saad Zaman
    Sat, 18 Mar 2017, 4:25 PM
    Hi Gareth!

    I wanted to discuss about a potential bug in the campus theme. I have implemented the child theme, it has minimal code at this point . I have uploaded it here .

    The less part of the child theme was being broken due to some errors. I tried fixing it by changing things on child theme. But then after spending lot of hours. I ended up changing few reference in parent theme and the child theme less got fixed.

    In Campus theme lib.php in theme_campus_extra_less .

    I changed this

    $content = '@import "'.$CFG->dirroot.'/theme/bootstrapbase/less/moodle";';
    $content .= '@import "variables-campus";';
    $content .= '@import "bootstrapchanges";';
    $content .= '@import "moodlechanges";';
    $content .= '@import "campuschanges";';
    $content .= '@import "campuscustom";';

    to this

    $content = '@import "'.$CFG->dirroot.'/theme/bootstrapbase/less/moodle";';
    $content .= '@import "'.$CFG->dirroot.'/theme/campus/less/variables-campus";';
    $content .= '@import "'.$CFG->dirroot.'/theme/campus/less/bootstrapchanges";';
    $content .= '@import "'.$CFG->dirroot.'/theme/campus/less/moodlechanges";';
    $content .= '@import "'.$CFG->dirroot.'/theme/campus/less/campuschanges";';
    $content .= '@import "'.$CFG->dirroot.'/theme/campus/less/campuscustom";';

    And the child theme worked. Though im still feeling guilty on changing the parent theme smile But this is how i got the less compiler working of child theme.

  • Gareth J Barnard
    Mon, 20 Mar 2017, 5:43 AM
    Hi Saad,

    I see. Not a bug because of $CFG->themedir.


  • Picture of Saad Zaman
    Mon, 20 Mar 2017, 8:56 AM

    Sorry, I couldnt get your comment.

    Sorry for bothering you too much, i ve just spend so much time on it , it on my dreams smile can you please advice me, if there is a way i can make the less of child theme work without changing anything in parent theme. Just dont want the updates to break the site.
  • Gareth J Barnard
    Mon, 20 Mar 2017, 7:56 PM
    Hi Saad,

    Please look at how settings.php works in regards to the implications of $CFG->themedir. I don't think at the moment you can make a child theme work without changing the parent theme unless I make changes to support thereof. This may happen in the future.

    Kind regards,

  • Picture of Saad Zaman
    Mon, 20 Mar 2017, 8:14 PM
    Thanks Gareth! For your support and this amazing theme.

    Though i couldnt exact get what aspect of childtheme are you linking with themedir as i havent inherited settings.php. Anyways nevermind.
    Ill read again about it and see to it.
  • Gareth J Barnard
    Mon, 20 Mar 2017, 8:17 PM
    Hi Saad,

    Its not about settings.php precisely but what it does with $CFG->themedir / how it copes with it, hint hint.

    Kind regards,

1 2 3 4 5 6
Please login to post comments