Moodle Theme Maker – Advanced Theme Colour Customisations

Maker is our most popular Boost-based Moodle theme. It comes with 6 built-in colour schemes and options to change the primary and secondary colours to suit your organisation’s branding. For advanced colour customisations you can also write your own custom SCSS/CSS code to fine tune the theme appearance.

In this post we’d like to share some useful SCSS/CSS code snippets you can use to tweak your theme’s colour schemes further. The colours used in the code snippets are there as placeholders. You can change them to your desired colour hex code to make them consistent with your design.

Site Top Bar

Default Styling

moodle-theme-maker-topbar-origin

Custom CSS/SCSS to override the default styling:


/* Top Bar Background Color */
.page-header .top-bar { background: purple; } 

What you get after applying the custom code:

moodle-maker-theme-topbar-change-color

Search Section

Default Styling

Custom CSS/SCSS to override the default styling:


/* Search Section Background Color */
.search-courses-section { background: purple; } 


What you get after applying the custom code:

maker-theme-search-bar-custom

Benefits Section

Default Styling

moodle-theme-maker-benefits-section

Custom CSS/SCSS to override the default styling:


/* Benefits Section */
.benefits-section .icon-holder { color: purple; } /* material icon color */
.benefits-section .item-title { color: purple; } /* title text color */
.benefits-section .item-desc { color: purple; } /* content text color */
.benefits-section .item-desc a { color: white; } /* content text link color */
.benefits-section .item-desc a { text-decoration: underline; } /* content text underline */

What you get after applying the custom code:

moodle-maker-theme-benefits-section-change-color

Promo Section

Default Styling

moodle-theme-maker-promo-section-origin

Custom CSS/SCSS to override the default styling:


/* Promo Section Background Color  */
.promo-section .item-content { background: purple; }

What you get after applying the custom code:

moodle-theme-maker-promo-section-color-change

Call To Action Section

Default Styling

moodle-theme-maker-cta-section-origin

Custom CSS/SCSS to override the default styling:


/* Call To Action Section */
.cta-section .cta-title { color: purple; } /* section title color */
.cta-section .cta-content { color: purple; } /* content text color */
.cta-section .cta-content a { color: white; } /* content text link color */
.cta-section .cta-content a { text-decoration: underline; } /* content text link underline */

What you get after applying the custom code:

moodle-maker-theme-cta-section-color-change

Footer Section

Default Styling

moodle-theme-maker-footer-origin

Custom CSS/SCSS to override the default styling:

/* Footer Section */
#page-footer { background: purple; } /* footer background color */
#page-footer .footer-bottom-bar {background: black} /* bottom copyright bar */

What you get after applying the custom code:

moodle-theme-maker-footer-change-color

Code Snippets

Below are all the code snippets from the examples above:

/* Topbar */
.page-header .top-bar { background: purple; } 

/* Benefits Section */
.benefits-section .icon-holder { color: purple; }
.benefits-section .item-title { color: purple; }
.benefits-section .item-desc { color: purple; }
.benefits-section .item-desc a { color: white; }
.benefits-section .item-desc a { text-decoration: underline; }

/* Promo Section  */
.promo-section .item-content { background: purple; } 

/* Call To Action Section */
.cta-section .cta-title { color: purple; } 
.cta-section .cta-content { color: purple; } 
.cta-section .cta-content a { color: white; } 
.cta-section .cta-content a { text-decoration: underline; } 

/* Footer Section */
#page-footer { background: purple; } 
#page-footer .footer-bottom-bar { background: black; }

Moodle Course Tip: How to make Moodle course admin menu static when scrolled

Please Note:

This tutorial only applies to Moodle 3.x sites. Moodle 4.x has a different course menu system.

By default Moodle’s Boost theme places the course admin menu on a cog icon in the course header. When editing a Moodle course it could make your course admin or teacher’s life easier by making the admin menu icon fixed in the viewport. That way, your course admin/teacher can easily access the menu even they scroll down the page. In this post we’ll share the code snippet you can use to make this optional UX improvement if your site is using Boost theme or any Boost-based Moodle theme.

Here is a screencast of the end result. The theme used in the screencast is our Boost-based theme Maker.

moodle-course-admin-menu-fixed

Step 1

Log in to your Moodle site as an admin user, and navigate to your Boost or Boost-based theme’s settings page. Under the “Advanced Settings” tab you should find an input field called “Raw SCSS” (see figure below).

moodle-boost-theme-raw-scss-input-field

Step 2

Copy and paste the following code snippet into the “Raw SCSS” input field. Save your changes.

.path-course-view #page-header .context-header-settings-menu .action-menu {
    position:fixed;
    right: 30px;
    z-index: 10;
}

moodle-course-action-menu-static-position-css-code

That’s it. Now you’ve made the admin menu fixed in the viewport.

Moodle Boost Theme: How to add Bootstrap 4 tabbed content to your Moodle course

Moodle’s latest core theme Boost is built on the popular Boostrap 4 framework. Bootstrap 4 includes lots of useful components you can use in your Boost or Boost-based themes. Tabbed-content is one of the most useful components you can use to build your Moodle courses. However, to use the tabbed content in Boost or Boot-based themes, you need to tweak the code from the official Bootstrap 4 docs. In this blog post we’ll share the tweaked code snippet you can use to build your own tabbed content in Moodle courses.

Boost Theme Tabs

moodle-boost-theme-tabbed-content

Boost-based Theme Tabs

moodle-maker-theme-bootstrap-tabs

Below is the code snippet you can just copy and paste to your Moodle course’s HTML editor.

<!-- Nav tabs -------------- -->
<ul style="list-style: outside none none;" class="nav nav-tabs" role="tablist">
    <li class="nav-item">
        <a class="nav-link active" data-toggle="tab" href="#tab1" role="tab" aria-expanded="true">Tab 1</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab2" role="tab" aria-expanded="false">Tab 2</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab3" role="tab" aria-expanded="false">Tab 3</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab4" role="tab" aria-expanded="false">Tab 4</a>
    </li>
</ul>

<!-- Tab panes -------------- -->
<div class="tab-content">
    <div class="tab-pane active" id="tab1" role="tabpanel" aria-expanded="true">
        Tab 1 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.Aenean massa. Cum sociis natoque penatibus
        et magnis dis parturient montes, nascetur ridiculus mus. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
        mus. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</div>
    <div class="tab-pane" id="tab2" role="tabpanel" aria-expanded="false">
        Tab 2 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
    <div class="tab-pane" id="tab3" role="tabpanel" aria-expanded="false">
        Tab 3 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
    <div class="tab-pane" id="tab4" role="tabpanel" aria-expanded="false">
        Tab 4 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
</div>

Want to view the tabs in action? Check out our demo here. The demo is using our Boots-based theme Maker.

Moodle Theme Maker – Useful Bootstrap 4 Components

Our popularMoodle theme Maker is based on the Moodle Boost theme and you can use lots of great Bootstrap 4 UI components to enhance the design of your Moodle courses. You can easily utilise the components to present your course content in a professional and attractive way.

In this tutorial we will show you how to add the components to your course. Some basic HTML/CSS knowledge is required as you need to know how to edit the code for your own content. You can find a live demo here.

How to add the components in a Moodle course

There are two ways to add the components. You can either add the components code to a course Section Summary or to a Label (Moodle resource). Below are some steps you need to take to add the code.

1. Add code to a Section Summary

1) Log into your course as a teacher and turn editing on.

moodle-theme-maker-turn-editing-on

2) Go to the section settings page

moodle-theme-maker-edit-section-settings

3) Enter the code into the Summary input field. You need to activate the HTML code editor before entering the code.

moodle-theme-maker-add-code-to-section-summary

4) Save changes.

2. Add code to a Label

1) Log into your course as a teacher and turn editing on.

2) Add a Label to the course.

moodle-theme-maker-add-label

3) Enter the code into the Label text input field. You need to activate the HTML code editor before entering the code.

moodle-theme-maker-add-code-to-label

4) Save changes.

Components code

Below are all of the components we used in the live demo. You can simply take the code snippets and start building your course.


Tabs NEW
<!-- Nav tabs -------------- -->
<ul class="nav nav-tabs" role="tablist">
    <li class="nav-item">
        <a class="nav-link active" data-toggle="tab" href="#tab1" role="tab" aria-expanded="true">Tab 1</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab2" role="tab" aria-expanded="false">Tab 2</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab3" role="tab" aria-expanded="false">Tab 3</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" data-toggle="tab" href="#tab4" role="tab" aria-expanded="false">Tab 4</a>
    </li>
</ul>

<!-- Tab panes -------------- -->
<div class="tab-content">
    <div class="tab-pane active" id="tab1" role="tabpanel" aria-expanded="true">
        Tab 1 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
    <div class="tab-pane" id="tab2" role="tabpanel" aria-expanded="false">
        Tab 2 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
    <div class="tab-pane" id="tab3" role="tabpanel" aria-expanded="false">
        Tab 3 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
    <div class="tab-pane" id="tab4" role="tabpanel" aria-expanded="false">
        Tab 4 content goes here. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    </div>
</div>

Slideshow

moodle-theme-maker-bootstrap-components-slideshow

Tip: It’s best to give the carousel a max width in the code (eg. style="max-width: 760px"). The value should be equal or lower than the width of your image.

<div id="carousel-1" class="carousel slide" data-ride="carousel">
    <ol class="carousel-indicators">
        <li data-target="#carousel-1" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-1" data-slide-to="1"></li>
        <li data-target="#carousel-1" data-slide-to="2"></li>
    </ol>
    <div class="carousel-inner" role="listbox">
        <div class="carousel-item active">
	        <img class="d-block img-fluid" src="https://3rdwavemedia.com/demo-images/slides/maker-slide-1.jpg" alt="" />
	    </div>
        <div class="carousel-item"><img class="d-block img-fluid" src="https://3rdwavemedia.com/demo-images/slides/maker-slide-2.jpg" alt="" /></div>
        <div class="carousel-item"><img class="d-block img-fluid" src="https://3rdwavemedia.com/demo-images/slides/maker-slide-3.jpg" alt="" /></div>
    </div>
	<a class="carousel-control-prev" href="#carousel-1" role="button" data-slide="prev">
		<span class="carousel-control-prev-icon" aria-hidden="true"></span>
		<span class="sr-only">Previous</span>
	</a>
	<a class="carousel-control-next" href="#carousel-1" role="button" data-slide="next">
		<span class="carousel-control-next-icon" aria-hidden="true"></span>
		<span class="sr-only">Next</span>
	</a>
</div>  
Cards

maker-theme-bootstrap-components-cards

<div class="card" style="width: 400px;">
  <img class="card-img-top" src="https://3rdwavemedia.com/demo-images/slides/maker-card-1.jpg" alt="Card image cap" />
  <div class="card-block">
    <h4 class="card-title">Card title</h4>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary">Go somewhere</a>
  </div>
</div>
<div class="card-deck">
  <div class="card">
    <img class="card-img-top" src="https://3rdwavemedia.com/demo-images/slides/maker-card-0.jpg" alt="Card image cap" />
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
  <div class="card">
    <img class="card-img-top" src="https://3rdwavemedia.com/demo-images/slides/maker-card-2.jpg" alt="Card image cap" />
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
  <div class="card">
    <img class="card-img-top" src="https://3rdwavemedia.com/demo-images/slides/maker-card-3.jpg" alt="Card image cap" />
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
      <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    </div>
  </div>
</div>
Tabs

maker-theme-bootstrap-components-tabs

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">
	  <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
    </div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
	  <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. </p>
	</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
	  <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork.</p>
  </div>
</div>
Jumbotron

maker-theme-bootstrap-components-jumbotron

<!---Jumbotron-->
<div class="jumbotron">
  <h1 class="display-4">Hello, world!</h1>
  <p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
  <hr class="my-4">
  <p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
  <p class="lead">
    <a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
  </p>
</div>
Tables

maker-theme-bootstrap-components-tables

<!--//Basic Table-->
<table class="table">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">First</th>
      <th scope="col">Last</th>
      <th scope="col">Handle</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">1</th>
      <td>Mark</td>
      <td>Otto</td>
      <td>@mdo</td>
    </tr>
    <tr>
      <th scope="row">2</th>
      <td>Jacob</td>
      <td>Thornton</td>
      <td>@fat</td>
    </tr>
    <tr>
      <th scope="row">3</th>
      <td>Larry</td>
      <td>the Bird</td>
      <td>@twitter</td>
    </tr>
  </tbody>
</table>
<!--//Stripped Rows-->
<table class="table table-striped">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">First</th>
      <th scope="col">Last</th>
      <th scope="col">Handle</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">1</th>
      <td>Mark</td>
      <td>Otto</td>
      <td>@mdo</td>
    </tr>
    <tr>
      <th scope="row">2</th>
      <td>Jacob</td>
      <td>Thornton</td>
      <td>@fat</td>
    </tr>
    <tr>
      <th scope="row">3</th>
      <td>Larry</td>
      <td>the Bird</td>
      <td>@twitter</td>
    </tr>
  </tbody>
</table>
<!--//Table Head Options-->
<table class="table">
  <thead class="thead-inverse thead-dark">
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">1</th>
      <td>Mark</td>
      <td>Otto</td>
      <td>@mdo</td>
    </tr>
    <tr>
      <th scope="row">2</th>
      <td>Jacob</td>
      <td>Thornton</td>
      <td>@fat</td>
    </tr>
    <tr>
      <th scope="row">3</th>
      <td>Larry</td>
      <td>the Bird</td>
      <td>@twitter</td>
    </tr>
  </tbody>
</table>

<table class="table">
  <thead class="thead-default thead-light">
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">1</th>
      <td>Mark</td>
      <td>Otto</td>
      <td>@mdo</td>
    </tr>
    <tr>
      <th scope="row">2</th>
      <td>Jacob</td>
      <td>Thornton</td>
      <td>@fat</td>
    </tr>
    <tr>
      <th scope="row">3</th>
      <td>Larry</td>
      <td>the Bird</td>
      <td>@twitter</td>
    </tr>
  </tbody>
</table>
Alerts

maker-theme-bootstrap-components-alerts

<div class="alert alert-success" role="alert">
  <strong>Well done!</strong> You successfully read this important alert message.
</div>
<div class="alert alert-info" role="alert">
  <strong>Heads up!</strong> This alert needs your attention, but it's not super important.
</div>
<div class="alert alert-warning" role="alert">
  <strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
<div class="alert alert-danger" role="alert">
  <strong>Oh snap!</strong> Change a few things up and try submitting again.
</div>
Buttons

maker-theme-bootstrap-components-buttons

<!--//Basic Buttons-->
<p><a class="btn btn-primary" href="http://elearning.3rdwavemedia.com/">Primary Button</a></p>
<p><a class="btn btn-secondary" href="http://elearning.3rdwavemedia.com/">Secondary Button</a></p>
<p><a class="btn btn-success" href="http://elearning.3rdwavemedia.com/">Success Button</a></p>
<p><a class="btn btn-info" href="http://elearning.3rdwavemedia.com/">Info Button</a></p>
<p><a class="btn btn-warning" href="http://elearning.3rdwavemedia.com/">Warning Button</a></p>
<p><a class="btn btn-danger" href="http://elearning.3rdwavemedia.com/">Danger Button</a></p>
<!--//With Icons-->
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-primary has-icon"><i class="fa fa-heart"></i>Primary Button</a></p>
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-secondary has-icon"><i class="fa fa-heart"></i>Secondary Button</a></p>
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-success has-icon"><i class="fa fa-check-circle"></i>Success Button</a></p>
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-info has-icon"><i class="fa fa-info-circle"></i>Info Button</a></p>
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-warning has-icon"><i class="fa fa-warning"></i>Warning Button</a></p>
<p><a href="http://elearning.3rdwavemedia.com/" class="btn btn-danger has-icon"><i class="fa fa-exclamation-circle"></i>Danger Button</a></p>

Badges

maker-theme-bootstrap-components-badges

<!--//Contextual variations-->
<span class="badge badge-default">Default</span>
<span class="badge badge-primary">Primary</span>
<span class="badge badge-success">Success</span>
<span class="badge badge-info">Info</span>
<span class="badge badge-warning">Warning</span>
<span class="badge badge-danger">Danger</span>
<!--//Pill badges-->
<span class="badge badge-pill badge-default">Default</span>
<span class="badge badge-pill badge-primary">Primary</span>
<span class="badge badge-pill badge-success">Success</span>
<span class="badge badge-pill badge-info">Info</span>
<span class="badge badge-pill badge-warning">Warning</span>
<span class="badge badge-pill badge-danger">Danger</span>
Modal

maker-theme-bootstrap-components-modal

moodle-theme-bootstrap-components-modal-open

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        Woohoo, you're reading this text in a modal!
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>
FontAwesome Icons

You can use 600+ FontAwesome icons in your course.

maker-theme-bootstrap-components-fontawesome-icons

Tip: Use classnames fa-1, fa-2, fa-3, fa-4 and fa-5 to control the size of the icon

<div>
    <i class="fa fa-check-square-o fa-1"></i>
    <i class="fa fa-check-square-o fa-2 text-success"></i>
    <i class="fa fa-check-square-o fa-3 text-danger"></i>
    <i class="fa fa-check-square-o fa-4 text-warning"></i>
    <i class="fa fa-check-square-o fa-5 text-info"></i>
</div>
Google Material Design Icons

You can use 900+ Google material design icons in your course.

maker-theme-bootstrap-components-google-material-icons

Tip: Use classnames md-16, md-18, md-24, md-36 and md-48 to control the size of the icon.

<div>
	<i class="material-icons md-16">backup</i>
	<i class="material-icons md-18 text-success">backup</i>
	<i class="material-icons md-24 text-danger">backup</i>
	<i class="material-icons md-36 text-warning">backup</i>
	<i class="material-icons md-48 text-info">backup</i>
</div>

How to change Moodle’s default landing page for logged in users

Want to add Moodle course landing pages to promote your featured courses?
Learn More

By default when users log in to Moodle, “Dashboard” is the default landing page for them. If you have a great Moodle frontpage with lots of useful content then you may still want the logged in users to see the frontpage instead of their own dashboard.

The steps below will show you how to achieve this.

Step 1

Log in to your Moodle site as an admin user, and navigate to the “Navigation” option under the Administration block: Administration > Site administration > Appearance > Navigation

moodle-theme-maker-change-default-landing-page

Step 2

Select the “Site” option in the dropdown menu for the “Default home page for users”. Save the changes.

moodle-theme-maker-change-default-landing-page-to-frontpage

How to sell bundled courses in Moodle

We’ve discussed how to sell individual courses in Moodle in our previous post. You can easily set up your paid courses in Moodle and get paid via PayPal or Stripe. But what if you’d like to offer your students bundled courses at a discounted price? Is it possible in Moodle? Although Moodle doesn’t have the out-of-the-box functionality for selling bundled courses, there is an easy method you can use to do that. In this tutorial we’d like to share the method you can use to sell bundled courses in Moodle.

Instead of selling bundled courses directly, what you could do is to sell an access code (known as course enrolment key in Moodle) for the bundled courses to your students. You can go into each course in your bundle and set up a universal enrolment key for them. Once your students paid for the course access and obtained the enrolment key for the bundle they can just enrol themselves into the individual courses in the bundle with the key (see the screencast below).

moodle-sell-bundled-courses-screencast

You can sell your bundle’s enrolment key outside of Moodle (eg. offline in a class, using a separate e-commerce platform) or inside of Moodle. To sell the enrolment key inside of Moodle, you can simply set up a paid course in Moodle which contains only the universal enrolment key for the courses and links to the individual courses in your bundle.

You can follow the steps below to set up the universal enrolment key for each paid course in your bundle. To learn how to set up a paid course in Moodle you can check out our post here.

Step 1 – Add Self Enrolment Method

Go to the desired course as an administrator. Clicking the “more” link under the course settings dropdown menu will take you to the Course administration page. You can then access the enrolment methods page by clicking the “Enrolment methods” link under the “Users” tab.

moodle-course-settings-dropdown-menu

moodle-course-settings-enrolment-methods

Add self enrolment method by clicking the “Self enrolment” link.

moodle-course-settings-add-self-enrolment-method

Step 3 – Add Course Enrolment Key

You can add a course enrolment key for the course and configure the related options according to your needs. Save your changes.

Step 4 – Repeat

Repeat the above two steps for each paid course in your bundle. Once an enrolment key is set up for the paid course a key icon will be displayed next to the payment method icon.

moodle-course-with-enrolment-key-view

Tip: If your Moodle theme allows you to add marketing blocks on the frontpage you can use one of the marketing blocks to promote and link to your bundle. Below is an example of how to promote your bundled courses using our premium Moodle theme Maker:

moodle-bundled-courses-promo-example-maker-theme

The best way to customise a Boost-based Moodle theme’s default styling

If you’re using a Boost-based Moodle theme and are wondering what is the best way to customise your theme this post is for you. Although lots of Moodle themes allow you to change the theme colour scheme via the theme settings page, there are times you’d like to fine tune the theme design to meet your organisation or client’s specific design requirements. Some of you who’re code-savvy may dive into the theme SCSS files and make changes directly to the original theme files. However, that is NOT recommended. Why? You may ask. That’s because you’ll lose all your customizations should you decide to update your Moodle theme in the future. Unless you’re 100% sure you won’t be updating your Moodle theme in the future or you don’t mind applying your customizations all over again to the new theme version, it’s best to leave all the original theme files untouched.

The best practice is to override your Moodle theme’s default styling via the theme settings page. This is because the customisation will be saved to the Moodle database, and won’t be overwritten when you update the theme files. For all Boost-based themes, you can enter your custom CSS/SCSS code into an input field called “Raw SCSS”. If you’re using one of our premium Moodle themes you can find the input field under the “Advanced Settings” section.

Edutor Theme

moodle-theme-edutor-advanced-settings-raw-scss

Maker Theme

moodle-theme-boost-raw-scss-settings

For example, say you want to change your theme’s base font size and link colour, you can use the CSS code as shown in the figure below. However, the code in the example can only change your theme’s body font size to 18px and the base link colour to red. You’ll probably need to write more targeted CSS code to change some specific elements’ font size or link colour. You can use Chrome DevTools to help you find the right element selector.

moodle theme customise css scss

Did you know you can use custom css/scss code to target specific Moodle courses?
Learn more here

How to add an external blog feed to your Moodle site

Did you know it’s possible to display an external blog feed on your Moodle site? Say your organisation already have a learning related WordPress blog wouldn’t it be great if you could promote your latest blog posts in your Moodle site? In this tutorial we’ll show you how to display your external blog feed on your Moodle site’s frontpage via Moodle’s Remote RSS Feed Block.

moodle-frontpage-blog-rss-feed-with-description

Step 1 – Enable RSS feeds on your Moodle site sitewide

Log into your Moodle site as an administrator and go to:
Site administration > Advanced features

moodle-site-admin-advanced-features

Enable RSS feeds

moodle-site-enable-rss-feed

Step 1 – Add your blog feed

Log into your Moodle site as an administrator and go to:
Site administration > Plugins > Blocks > Remote RSS feeds

moodle-site-admin-blocks-remote-rss-feeds

Add a new feed

moodle-site-add-a-new-feed

moodle-site-add-a-new-feed-settings

moodle-site-new-rss-feed-added

Step 3 – Add and configure your blog feed block

Add a “Remote RSS feeds” block to your Moodle’s frontpage. Don’t know how to add a block to your frontpage? Read our post here.

moodle-frontpage-add-rss-feeds-block

Configure the RSS block based on your needs. Remember to select your blog feed as highlighted in the figure below and save changes.

moodle-frontpage-rss-feeds-block-config-dropdown

moodle-configure-remote-rss-feed-select-feed

Below are screenshots showing you what your blog feed will look like with or without descriptions.

moodle-blog-feed-description-comparison

Moodle Theme Maker – New Frontpage Teachers Section

In the latest Maker theme, we’ve added a new Teachers section on the frontpage. You can use this section to showcase your course teachers or instructors. Maker theme allows you to add up to 10 teachers/instructors with their profile images, names and bio. Although this section is initially designed for showcasing people, there’s no reason why you can’t use this section for other promo content for your Moodle site. If you like the two cards layout, you can also use this section to promote your courses instead.

Frontpage view

moodle-theme-maker-teachers-section-preview

Maker theme settings view

moodle-maker-theme-teachers-section-admin-settings

Moodle Theme Maker – New Intranet Support Feature

In the latest version of our Moodle theme Maker, we’ve added an “intranet support” feature.

Who this feature is for:

By default Maker theme assumes that your Moodle site runs on the internet and requests resources like Google fonts and Google Material Design icons that are stored elsewhere on the internet. However, if your organisation needs to have your Moodle site running on an internal intranet network without any access to the outside internet, the new “intranet support” feature can be enabled to stop Moodle from requesting any resources from outside. If you enable the new feature, Maker theme will degrade gracefully to load the best available fonts on the user’s computer instead of from the online Google locations. Google material design icons will either be hidden or replaced by appropriate FontAwesome icons.

How to enable the feature:

To enable the intranet support feature, just go to Maker theme settings page: Site administration > Appearance > Themes > Maker Settings > Advanced Settings

On the bottom of the page, find the “Has Internet Connection” option and uncheck the checkbox. Save your changes.

moodle-theme-maker-no-internet-support

Now you can use our Maker theme safely on your intranet.

Please note: when this feature is enabled it disables Google fonts and Material Design icons so you won’t be able to use them inside the theme.

How to add/remove Moodle blocks on your frontpage

Using a Boost-based Moodle theme, you can add/remove Moodle blocks on your frontpage as well. In this tutorial we’ll show you how to do that.

The screenshots used in this tutorial are taken from Boost-based Moodle theme Maker.

Add a Block

Log into your Moodle site as an administrator and go to your site’s frontpage (site home). Turn editing on as shown in the screenshot below.

moodle-theme-maker-frontpage-turn-editing-on

Open Moodle’s navigation drawer and you should see the “Add a block” option listed as the last menu item.

moodle-theme-maker-frontpage-add-block-menu

Click “Add a block” and you can select your desired block from the popup window.

moodle-theme-maker-frontpage-add-blocks-popup

Remove a Block

To remove a block, you need to turn editing on first. Click the cog icon next to the block title and select the delete option.

moodle-theme-maker-remove-frontpage-block-1

moodle-theme-maker-remove-frontpage-block-2

moodle-theme-maker-remove-frontpage-block-3

How to add a global search box to your Moodle site

You may have noticed that some Moodle sites have a global search box displayed in the site header area. By default the global search box is not enabled in Moodle as it’s an advanced feature which you need to enable yourself. In this tutorial we’ll show you how to do that.

You can see how the search works on our Moodle theme demo site (you need to login as a student to see the search results):

moodle-global-search

To enable the global search on your Moodle site you simply need to follow the steps below:

Step 1

Log into your Moodle site as an administrator and go to:
Site administration > Plugins > Search > Manage global search

You can select your preferred search engine and configure the search settings there:

moodle-global-search-configure-search-engine

For more information about how to configure the Solr search engine you can check Moodle’s guide here.

Step 2

Go to: Site administration > Advanced features

Enable global search option by ticking the checkbox:

moodle-advanced-features
moodle-enable-global-search

That’s it. Now you should see a global search box being added to your Moodle site’s header area.