How To Install A New Moodle Theme

There are two ways of installing a new Moodle theme. In this tutorial we will show you the two methods by installing one of our premium Moodle themes, Maker.

Update:

This post has been updated to reflect interface changes in Moodle 4.x

Method 1 – Upload the theme folder to your server directly

This is the traditional method and our preferred way of installing a new Moodle theme. It’s very easy if you have FTP access to your remote server or for working on your localhost. All you need to do is to upload or place your new theme’s theme folder (extracted from the zip file) under the “theme” folder in your Moodle installation.

Upload/place the theme folder on your remote or local server:

Your Moodle installation > theme > maker

moodle-install-a-new-theme-via-ftp-server-upload

Method 2 – Upload the theme zip file via Moodle’s plugin page

If for some reason you don’t have access to your server, you can also use Moodle’s “Install Plugins” page to install the theme.

Log in as an admin and go to:

Site administration > Plugins > Install plugins

moodle-install-a-new-theme-via-install-plugin

moodle-install-a-new-theme-via-plugin-installer

If you want to install a free Moodle theme you’ve downloaded from Moodle’s official site, you can upload the downloaded theme zip file directly there.

Please note: For all of our premium Moodle themes you need to follow the steps below to create a valid zip file before uploading via Moodle’s “Install plugins” interface:

Step 1

Extract the product zip file you’ve downloaded and you will see a readme file and the theme folder

moodle-theme-zip-file-extracted

Step 2

Compress the theme folder into a zip file. Give the newly created zip file whatever name you like and upload the zip file via Moodle’s “Install plugins” interface.

moodle-theme-compress-zip-file

Activate the new theme

Now you’ve successfully installed your new theme. To use the new theme for your Moodle site you have to activate the theme in Moodle first.

Go to the theme selector page as an admin and activate the theme as shown below:

moodle-install-a-new-theme-activate-new-moodle-theme

moodle-install-a-new-theme-maker

Top 3 Boost-based Moodle Themes for Your Site

Top 3 Boost-based Moodle Themes

Since Moodle 3.x, Boost became Moodle’s new core theme. It’s designed to improve the overall user experience of Moodle across desktop and mobile devices and it comes with a new navigation system, course layout and convenient editing options. Moodle has been encouraging developers to build their Moodle themes based on Boost to utilise all the latest features available to themes in Moodle.

At the time of writing, there aren’t many Moodle themes based on the new Boost theme. Most of the free or premium themes are all based on old Moodle core themes. As Moodle is moving forward with Boost we expect more and more theme developers to adopt Boost as their base theme in the near future.

Among all of the available Boost based Moodle themes, below is a list of the top 3 themes you can use to future-proof your Moodle site.

2022 Update:

We have released a brand new Boost-based theme for Moodle 4.x.

Live Demo Theme Details

moodle-4.0-theme-edutor-features

1. Moove Theme (Free)

moodle-theme-moove-homepage

Moove is a free Moodle theme compatible with Moodle 3.x and 4.0. Moove (for Moodle 3.x) provides an app-like modern interface and is designed to help your users focus on your site’s content. This theme is developed and maintained by Willian Mano. If you’d like to support the theme author and help keep the theme “free and alive” you can head to the theme details page to make a donation.

Moove Theme Frontpage (Moodle 3.x):

You can add a header image with heading and 4 marketing spots with icon images, content and links. There is a custom login form overlaid on top of the header image for quick user login.

moodle-moove-theme-frontpage

Moove Theme Course Page (Moodle 3.x):

You can toggle the navigation drawer and the side blocks, maximising screen space to focus on the course content.

moodle-theme-moove-course-page-grid-format

Moove Theme Dashboard (Moodle 3.x):

For admin users, the dashboard contains a quick overview of useful stats such as disk usage, online users, and course and user totals.

moodle-moove-theme-admin-dashboard

Download Moove Live Demo

2. Fordson Theme (Free)

moodle-theme-fordson-official-frontpage-screenshot

Fordson is another free Boost-based Moodle theme compatible with Moodle 3.2+. It contains lots of useful features and is mainly designed for educational organisations. It’s developed based on feedback from users and aims to provide the best experience for students “from login to learning”. To find out more about the Fordson theme you can take a look at the theme promo page here.

Fordson Theme Frontpage:

You can add a slideshow, have the option to show a quick login form for logged out users and add up to 6 marketing spots either at top or bottom of the page. For logged in users, you can add up to 8 icons to act as quick links to other sections.

For logged-out users:

moodle-theme-fordson-homepage-demo

For logged-in users:

moodle-theme-fordson-theme-frontpage-for-loggedin-users

Fordson Theme Course Page:

For each course, you have the option to upload a course banner image to be displayed above the course name. As a course teacher, you can also toggle a custom course management panel to access all of the options for managing the course.

moodle-theme-fordson-theme-frontpage-for-loggedin-users

Fordson Theme Dashboard:

It contains a prominent user profile section and the design is clean and simple.

moodle-theme-fordson-theme-student-dashboard

Download Fordson Live Demo

3. Maker (Premium)

Premium-Moodle-Theme-Maker-Promo-full

Maker is a premium theme developed for Moodle LMS platform. It’s primarily designed for businesses, government organisations and higher education to provide a cost-effective way to transform their Moodle sites into outstanding learning platforms. It’s packed with configurable features and is highly customisable to suit any company/organisation’s branding. For a full feature list, please visit the theme details page here.

Maker Theme Frontpage:

Configurable items include: Header alert, slideshow, benefits blocks, featured blocks, promo carousel, logos, testimonials, course list layout styles , FAQ and Call-To-Action section.

moodle-theme-maker-front-page-full

Feature Update: You can choose a different course list layout style via the theme settings page.(learn more)
moodle-theme-maker-course-list-layout-styles-banner

Maker Theme Course Page:

This theme provides lots of useful Bootstrap components for teachers to use in course creation. It also allows you to set a course image to be displayed in the course header area.

moodle-theme-maker-course-page-design-moodle-4.0

Maker Theme Dashboard & My Courses:

The design is super clean and sleek. All the information is presented in a simple yet effective way.

Dashboard Page (Moodle 4.x)

moodle-theme-maker-dashboard-page-design-moodle-4.0

My Courses Page (Moodle 4.x)

moodle-theme-maker-my-courses-page-moodle-4.0

Maker Theme Static Pages:

Maker has built-in static page styling so you can add professional-looking pages (eg. “About Us“, “Contact us” and “FAQ“) to your Moodle site. You can learn more here.

moodle-static-page-promo

Maker Theme Login Page:

Maker supports social logins with custom styling. You can learn how to enable social logins in your Moodle site here.

moodle-theme-maker-login-page

Live Demo Maker Theme Details

How To Change The Default Words And Phrases In Moodle 4.x

Is it possible to change the default words and phrases on a Moodle site?

This is a frequently asked question by Moodle administrators. The answer is yes, and you can find detailed instructions for doing so in the official Moodle documentation. However, it is a bit difficult to follow the documentation without some visual guidance, so we have made this tutorial to guide you through it with screenshots taken from our Moodle 4.x demo.

To start with, let’s set a task:

If you have added a custom message on Moodle’s login page you will notice that the default message title says “Is this your first time here?” In this tutorial we will change this phrase to “Welcome to our Moodle demo“.

moodle-4.x-change-default-words-and-phrases-0

Step 1

Log into your Moodle site as an admin user and navigate to the Language customization option: Site administration > Language > Language customization

moodle-4.x-change-default-words-and-phrases-1

Step 2

Select English from the language dropdown menu

moodle-4.x-change-default-words-and-phrases-1

Step 3

Click the “Open language pack for editing” button, then once that’s loaded click the “continue” button.

moodle-4.x-change-default-words-and-phrases-2.1
moodle-4.x-change-default-words-and-phrases-3

Step 4

Select moodle.php in the selection box, as the string we want to replace belongs to moodle.php. In the “Only strings containing” filter box, enter “Is this your first time here?” (or any other text you want to replace it with, without the quotation marks).

moodle-4.x-change-default-words-and-phrases-4

Step 5

Enter “Welcome to our Moodle demo” to the Local customisation box, and then click the “Save changes to the language pack” button.

moodle-4.x-change-default-words-and-phrases-6

Step 6

You will then see the screen below. Click the “continue” button to confirm and carry on.

moodle-4.x-change-default-words-and-phrases-5

Step 7

Now you can log out, then refresh your browser and go to the login page, and you should see that “Is this your first time here” is now “Welcome to our Moodle demo”.

Moodle-how-to-add-login-page-custom-message-6

Moodle 4.x – How To Add A Custom Welcome Message To The Login Page

Did you know you can display a custom welcome message on your Moodle site’s login page? If you’re using Moodle’s default core theme Boost or a Boost-based theme, you can easily add custom content on the login page. In this tutorial we will show you how to do that in a few simple steps. The screenshots used in this tutorial is taken from a Moodle 4.x site using the Boost-based theme Edutor.

Moodle-how-to-add-login-page-custom-message-moodle-edutor-theme

Step 1

Log into your Moodle site as an admin user, and navigate to the Manage authentication option: Site administration > plugins > Authentication > Manage authentication

Moodle-how-to-add-login-page-custom-message-2

Step 2

Now you are on the Manage authentication page, and if you scroll down the page a bit, you should see a form called “Instructions“.

Moodle-how-to-add-login-page-custom-message-3

Step 3

Enter your custom text message in the Instructions form. You can also enter HTML code content as shown below.

Moodle-how-to-add-login-page-custom-message-4

HTML code snippet used on our demo site:

<div class="row">
    <div class="col-xs-12 col-12 col-sm-6">
        <h5>Student login</h5>
        <p style="margin-bottom: 0"><strong>Username:</strong> student<br>
            <strong>Password:</strong> demo
        </p>
    </div>
    <div class="col-xs-12 col-12 col-sm-6">
        <h5>Non-editing teacher login</h5>
        <p style="margin-bottom: 0"><strong>Username:</strong> teacher<br>
            <strong>Password:</strong> demo
        </p>
    </div>
</div>

Save changes. Now if you log out and go back to the Moodle login page again, you should see that the message you just entered appears on the login page.

Moodle-how-to-add-login-page-custom-message-7

Improvement

You can also change the Moodle default title “Is this your first time here?” into something else, for example, on our Moodle demo site we have replaced it with “Welcome to our Moodle demo“. You can find out how to achieve this by reading my tutorial “How to change the default words and phrases in Moodle

How To Add Linkedin Login To Your Moodle 4.0+ Site

Moodle LMS is used by more and more companies and big corporations as their training platforms. In the business world, Linkedin is becoming the most trusted and popular social network. Moodle has built-in functionality to allow users to log in via their existing Linkedin account directly instead of signing up. In this blog post we will walk you through the steps to enable Linkedin login on your Moodle site.

Live Demo

Pre-requirement:

Your business needs to have an existing Linkedin page.

Step 1

Go to the Linkedin Developers center https://developer.linkedin.com and click the “Create App” button. You will be taken to an app creation page. Enter the required information as shown in the figure below.

moodle-theme-edutor-linkedin-1

moodle-theme-edutor-linkedin-login-1

Step 2

Go to the “Products” tab and then select “Sign In with Linkedin” as the product for the app you just created in Step 1.

moodle-theme-edutor-linkedin-2

Step 3

Go to the “Auth” tab and enter the Authorized redirect URLs for your app. The format should be like https://yourmoodlesite/admin/oauth2callback.php

moodle-theme-edutor-linkedin-7

Step 4

Log into your Moodle site as an administrator. Go to Site administration > Server > OAuth 2 services.

moodle-theme-edutor-linkedin-3

Step 5

Click the “Linkedin” button and you will be taken to the configuration page where you need to enter your Linkedin app’s “Client ID” and “Client secret”. You can get those values from your Linkedin App’s auth tab (see Step 3).

moodle-theme-edutor-linkedin-4

moodle-theme-edutor-linkedin-8

Save changes and your site is ready to let users log in using their Linkedin accounts.

moodle-theme-edutor-linkedin-login

How To Add Facebook Login To Your Moodle 4.0+ Site

Having 2.9 billion monthly active users in the world, Facebook is still the most popular social media platform in 2022. Enabling Facebook login on your Moodle site can encourage new users to sign up to your Moodle courses. In this tutorial, we will show you all the steps you need to take to offer Facebook login on your Moodle 4.0+ site.

Live Demo

Pre-requirement:

You or your business needs to have an existing Facebook account.

Step 1

Go to Facebook (Meta) for Developers (https://developers.facebook.com/apps) Click the “Create App” button and you will be taken to an app creation page where you can enter the required information. Because you’re adding Facebook login to your site you can select “Consumer” as the app type.

moodle-theme-edutor-add-facebook-login-1

moodle-theme-edutor-add-facebook-login-2

moodle-theme-edutor-add-facebook-login-4

Step 2

Now you have created an app, on the app configuration page you can add “Facebook Login” to your app.

moodle-theme-edutor-add-facebook-login-5

Step 3

Select the “Web” option in the next step and enter your Moodle site’s URL and save. You can ignore fields 2 to 5 in the form as Moodle handles them automatically.

moodle-theme-edutor-add-facebook-login-6

moodle-theme-edutor-add-facebook-login-7

Step 4

Click “Settings” under the “Facebook Login” option on the left-hand side menu. Configure the Client OAuth settings section as shown in the figure below and save changes.

You need to enter the “Valid OAuth Redirect URIs” following a specific format – https://yourmoodlesite/admin/oauth2callback.php

moodle-theme-edutor-add-facebook-login-8

Step 5

Click the “Basic” option under the “Settings” menu as shown in the figure below and enter all the required information. The App ID and App secret fields are auto generated and you will need them when you configure your Moodle site later.

Please note: you must enter a valid Privacy Policy URL here to make your app “Live” later.

moodle-theme-edutor-add-facebook-login-9

Step 6

Click the “Permissions and Features” option under the “App Review” menu as shown in the figure below. Find public_profile and email in the list and click the “Get advanced access” buttons.

moodle-theme-edutor-add-facebook-login-10

Step 7

Change your app’s mode from “Development” to “Live” by clicking the toggle in the top menu bar.

moodle-theme-edutor-add-facebook-login-10.1

Step 8

Log in to your Moodle site as an administrator. Go to Site administration > Server > OAuth 2 services.

moodle-theme-edutor-add-facebook-login-11.1

Step 9

Click the “Facebook” button and you will be taken to the configuration page where you need to enter your Facebook app’s “Client ID” and “Client secret”. You can get them from your Facebook App’s settings page (see Step 5).

moodle-theme-edutor-add-facebook-login-11

moodle-theme-edutor-add-facebook-login-oauth-page

Save changes and your site is ready to let users log in using their Facebook accounts.

moodle-theme-edutor-add-facebook-login-12.1

How to enable Moodle’s maintenance mode

When Moodle’s maintenance mode is enabled, only the site administrator can access the courses, and all other users will be notified that the site is in maintenance mode.

It’s good practice to put Moodle into maintenance mode if you are going to upgrade the site, make big changes to the existing courses or test different themes for the courses. This will ensure that your site users are not using the site while it is upgrading and that they will not see all of the changes on the fly and get confused by them while you are still working on any courses.

Step 1

Log into your Moodle site as an admin user, and navigate to the Maintenance settings option: Site administration > Server > Maintenance mode

moodle-enable-maintenance-mode-edutor-theme-settings-1

Step 2

Click “Enable” from the Maintenance mode drop-down list. You can also write your own maintenance message for users in the text editor as shown on the figure below.

moodle-enable-maintenance-mode-edutor-theme-settings

Step 3

Click the “Save changes” button and your Moodle site is now in maintenance mode, and the maintenance message will be shown when the non-admin users are trying to access the courses.

moodle-enable-maintenance-mode-edutor-theme

Once you’ve finished upgrading the site or making changes to your courses, don’t forget to disable maintenance mode.

Moodle Maker Theme – How to Display Moodle’s Default Login Form After The Social Logins

By default on Moodle’s login page Moodle will display the default login form before all the social login options. If social media logins are your site’s main login methods you might want to give priority to the social login buttons by displaying them before Moodle’s default login form. In this blog post we will share the custom css code snippet you can use to do just that.

Default Login Page View:

moodle-login-page-default-layout

Step1

Copy the following code snippet.

#page-login-index .auth-blocks-wrapper .form-col {order: 12}

Step 2

Go to Maker theme’s Advanced Settings page and paste the code into the “Raw SCSS” input field. Save changes.

moodle-maker-css-code

Now on the login page all the social login buttons should be displayed on the left hand side (on desktop) and above the Moodle login form (on mobile).

moodle-social-login-change-position

How To Copy A Course Across Moodle Sites

Want to copy a Moodle course from one site to another? In this tutorial we will show you how to do that. If your Moodle site is using a Boost-based theme you can copy our demo course to your site by following the steps below.

Moodle Demo Course Download:

You need to unzip the course file before importing to your Moodle site.

Free Download (657 downloads)

Step 1 – Export A Course

For a Moodle 4.x site

Go to the Moodle course you’d like to copy. Click the “Course reuse” option in the dropdown menu as shown in the figure below and then select the “Backup” option in the next page.

moodle-4-how-to-backup-course-1

moodle-4-how-to-backup-course-2

For a Moodle 3.x site

Go to the Moodle course you’d like to copy. Click the cog icon and select the “Backup” option in the dropdown menu as shown in the figure below.

moodle-course-backup-option

You can configure what you’d like to include in the course backup file by following the 5 on-screen steps. Because we’re going to copy the course over to a different Moodle site with different users, it’s a good idea to untick the “Include enrolled users” option to avoid any import issues.

moodle-course-export-settings

Once a course backup file is successfully created, you can download the file (*.mbz) to your computer.

moodle-course-export-success

moodle-course-backup-download

Step 2 – Import A Course

Go to the Moodle site you’d like to have the course copied in to. Import the course mbz file via the course restore page: Site administration > Courses > Restore course

moodle-course-restore-course-option

moodle-course-restore-file-upload

Click the Restore button to start the importing process.

You have the option to either import the course as a new course or import it into an existing course. You also have the option to decide what to include in the import by following the 7 on-screen steps as shown in the figure below.

moodle-course-restore-form

Click the “Perform Restore” button and the course should be successfully copied over.

moodle-course-import-success-message

Moodle Theme Maker and Edutor – Course Design Ideas And Useful Code Snippets

In our latest Maker and Edutor theme you have the option to position Moodle blocks before or after your Moodle course content. A course teacher can now add custom HTML blocks to create useful course information blocks or forms to enhance the course design. To get you started, we have created a demo course with some course design ideas. You can find all the code snippets used in the demo course below in this post. You can also import our demo course to your Moodle site and use the demo course as a base to build your own course.

Maker Theme Demo Course Edutor Theme Demo Course

Moodle Demo Course Download:

You need to unzip the course file before importing to your Moodle site. Learn how to import a Moodle course.

Free Download (2377 downloads)

Add and position a HTML block

In a Moodle course you can turn editing on and add a HTML block as shown in the figure below.

moodle-course-add-a-html-block

To configure the HTML block you can click the cog icon and then select the “Configure block” option via the dropdown menu.

Moodle-configure-block-dropdown-menu

To copy and paste our demo code snippets you need to make sure your Moodle’s text editor is on the HTML code mode. You can then set your block’s position by defining its “Region” as shown in the figure below.

moodle-course-design-block-config-view



Code Snippet – About This Course

You can use this block to give a brief introduction of your course. The “See Course Modules” button is pointing to the course content (#section-0). The “Ask a question” button is pointing to the Contact Tutor block (#inst2927) on the same page. If you have added a Contact Tutor block in your course the link ID won’t be the same as our demo but you can get the ID number via the block configuration page.

moodle-course-block-about-this-course

<div class="block-theme-widget">
    <div class="theme-media media flex-column flex-md-row">
        <div class="media-body">
            <p>
                Course overview goes here.&nbsp;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel tincidunt nisl, vel suscipit orci. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent sit amet pulvinar risus.
            </p>
            <div class="media flex-column flex-md-row mt-3 align-items-center">
                <div class="course-tutor-image-holder mr-md-3 mb-3">
                    <img src="https://3rdwavemedia.com/demo-images/teachers/tutor-1.png" alt="image" width="60px">
                </div>
                <div class="media-body mb-3">
                    Teacher: Sarah Doe
                </div>
                <!--//media-body-->
            </div>
            <!--//media-->
            <div class="my-3">
                <a class="btn btn-primary mr-2 mb-3" href="#section-0">See Course Modules</a>
                <a class="btn btn-secondary mb-3" href="#inst2927">Ask a question</a>
            </div>
        </div>
        <!--//media-body-->
        <div class="course-image-thumb-holder ml-md-3">
            <img src="https://3rdwavemedia.com/demo-images/slides/maker-course-1.jpg" alt="image" width="320px">
        </div>
    </div>
    <!--//media-->
</div>
<!--//block-theme-widget-->



Code Snippet – What You Will Learn

You can use this block to list the course objectives.

moodle-course-design-block-objectives

<div class="block-theme-widget">
    <p class="mb-4">List your course learning objectives here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer vitae posuere nibh, at posuere enim. Sed vulputate ante congue, euismod odio a, gravida neque. Maecenas volutpat risus dolor.</p>
    <div class="text-center mb-3">
        <ul class="column-list list-unstyled mx-auto d-inline-block">
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
            <li><i class="column-list-icon fa fa-check mr-2"></i>Course objective lorem ipsum</li>
        </ul>
    </div>

    <a class="btn btn-primary scrollto" href="#maincontent">Start Learning</a>

</div>



Code Snippet – Course Overview

You can use this block to give useful stats. You can change the icons used in the block to any of the 1000+ free Bootstrap SVG icons available.

moodle-course-design-block-stats-overview

<div class="block-theme-widget container">
    <div class="row theme-stats">
        <div class="item col-6 col-lg-3 mb-3 mb-lg-0">
            <div class="icon-holder"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-grid-3x3" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  <path fill-rule="evenodd" d="M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5V5h4V1H1.5zM5 6H1v4h4V6zm1 4V6h4v4H6zm-1 1H1v3.5a.5.5 0 0 0 .5.5H5v-4zm1 0h4v4H6v-4zm5 0v4h3.5a.5.5 0 0 0 .5-.5V11h-4zm0-1h4V6h-4v4zm0-5h4V1.5a.5.5 0 0 0-.5-.5H11v4zm-1 0H6V1h4v4z"></path>
</svg></div>
            <div class="data">8 Modules</div>
        </div>
        <!--//item-->
        <div class="item col-6 col-lg-3 mb-3 mb-lg-0">
            <div class="icon-holder">
                <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-camera-reels" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  <path fill-rule="evenodd" d="M0 8a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8zm11.5 5.175l3.5 1.556V7.269l-3.5 1.556v4.35zM2 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2z"></path>
  <path fill-rule="evenodd" d="M3 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"></path>
  <path fill-rule="evenodd" d="M9 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"></path>
</svg>
            </div>
            <div class="data">30 Video Lessons</div>
        </div>
        <!--//item-->
        <div class="item col-6 col-lg-3 mb-3 mb-lg-0">
            <div class="icon-holder">
                <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-download" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  <path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"></path>
  <path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"></path>
</svg>
            </div>
            <div class="data">40 Resources</div>
        </div>
        <!--//item-->
        <div class="item col-6 col-lg-3 mb-3 mb-lg-0">
            <div class="icon-holder">
                <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-hourglass-split" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  <path fill-rule="evenodd" d="M2.5 15a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11zm2-13v1c0 .537.12 1.045.337 1.5h6.326c.216-.455.337-.963.337-1.5V2h-7zm3 6.35c0 .701-.478 1.236-1.011 1.492A3.5 3.5 0 0 0 4.5 13s.866-1.299 3-1.48V8.35zm1 0c0 .701.478 1.236 1.011 1.492A3.5 3.5 0 0 1 11.5 13s-.866-1.299-3-1.48V8.35z"></path>
</svg>
            </div>
            <div class="data">72 Hours</div>
        </div>
        <!--//item-->
    </div>
    <!--//row-->
</div>
<!--//block-theme-widget-->



Code Snippet – Course Modules Overview

You can divide your course content into modules (using Moodle’s Topic format) and then use this block to link to each module with a quick overview.

moodle-course-design-block-modules-overview

<div class="block-theme-widget container">
    <div class="theme-cards row">
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-1.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module One Heading</h5>
                    <p class="card-text">Module 1 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-1" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-2.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module Two Heading</h5>
                    <p class="card-text">Module 2 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-2" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-3.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module Three Heading</h5>
                    <p class="card-text">Module 3 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-3" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-4.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module Four Heading</h5>
                    <p class="card-text">Module 4 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-4" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-5.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module Five Heading</h5>
                    <p class="card-text">Module 5 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-5" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
        <div class="col-6 col-lg-4 mb-4">
            <div class="card card-bg-light">
                <img src="https://3rdwavemedia.com/demo-images/slides/maker-module-6.jpg" class="card-img-top" alt="image">
                <div class="card-body">
                    <h5 class="card-title">Module Six Heading</h5>
                    <p class="card-text">Module 6 intro goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pellentesque mi id vulputate rhoncus. </p>

                </div>
                <div class="card-footer">
                    <a href="#section-6" class="btn btn-secondary btn-block rounded">View Module</a>
                </div>
            </div>
            <!--//card-->
        </div>
        <!--//col-->
    </div>
    <!--//block-theme-widget-->
</div>



Code Snippet – About The Tutor

You can use this section to add the course teacher’s bio.

moodle-course-design-block-teacher-bio

<div class="block-theme-widget container">
    <div class="theme-tutor media flex-column flex-md-row">
        <div class="course-tutor-image-holder mr-md-3 mb-3">
            <img src="https://3rdwavemedia.com/demo-images/teachers/tutor-1.png" alt="image" width="150px">
        </div>
        <div class="media-body">
            <div class="tutor-name">Sarah Doe</div>
            <div class="tutor-meta">Senior Lecture or XYZ University</div>
            <p class="mt-2">Tutor bio goes here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pharetra posuere tincidunt. Sed sed dui feugiat, bibendum enim quis, hendrerit velit. Ut sodales lacinia augue pharetra vestibulum. Maecenas volutpat consequat
                dui eget molestie. Vivamus varius dui ante, non pellentesque purus semper faucibus. </p>
            <div class="text-center text-md-left mt-3">
                <ul class="social-list list-unstyled mb-0">
                    <li class="list-inline-item"><a href="#link"><i class="fa fa-linkedin"></i></a></li>
                    <li class="list-inline-item"><a href="#link"><i class="fa fa-twitter"></i></a></li>
                    <li class="list-inline-item"><a href="#link"><i class="fa fa-globe"></i></a></li>

                </ul>
                <!--//social-list-->
            </div>
        </div>
        <!--//media-body-->
    </div>
    <!--//tutor-block-->
</div>
<!--//block-theme-widget-->



Code Snippet – Contact Tutor

You can add a simple contact form for your learners to ask the course tutor questions without leaving the course. Learn how to set up the contact form here.

Moodle Contact Tutor Block

<div class="block-theme-widget container">
    <form class="contact-form" action="../local/contact/index.php" method="post">
        <p class="mb-3">Have any questions about the course? Use the form below to ask your tutor.</p>

        <div class="form-group">
            <label class="sr-only" for="subject">Subject</label>
            <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required="required">
        </div>

        <div class="form-group">
            <label class="sr-only" for="message">Your message</label>
            <textarea class="form-control" id="message" name="message" placeholder="Enter your message" rows="5" required="required"></textarea>
        </div>
        <input type="hidden" id="sesskey" name="sesskey" value="">
        <input type="hidden" id="referrer" name="referrer" value="">
        <input type="hidden" name="recipient" id="recipient" value="teacher">
        <script>
            document.getElementById('sesskey').value = M.cfg.sesskey;
            document.getElementById('referrer').value = document.location.href;
        </script>

        <div class="form-group">
            <input type="submit" name="submit" id="submit" value="Send" class="btn btn-primary py-2">

        </div>

    </form>
    <!--//contact-form-->
    <div class="alert alert-info mt-4"><strong>Note:</strong> This contact form only works for logged in users (not guests).</div>
</div>

Moodle Blocks – How to Find Out The Block ID

Each block in a Moodle course has its own unique ID and the link to the block is always #inst[ID]. If you know the ID number then you can provide a link to the particular block inside of the Moodle course. You can follow the simple steps below to get the ID number.

Step 1

Turn editing on and go to the desired block’s configuration page.

moodle-block-config-menu

Step 2

Go to your browser’s address bar and the number at the end is the ID number of the block.

moodle-course-block-ID-number

Following the syntax #inst[ID], the above block’s link is #inst2927

How To Add A Simple Contact Tutor Form In A Moodle Course

In our previous post we talked about how to add a contact form in a Moodle page. Do you know you can also add a contact form in a Moodle course? This is great for allowing your course students to easily send a quick question to their course teacher or tutor from inside a course. In this post we will show you how to add a Contact Tutor form in a specific Moodle course. There are two ways to do this and we will show you a simple way (with limitations) and an advanced way (requires basic HTML knowledge but gives you more control).

First things first, you need to download Moodle’s contact form plugin and install it by placing the downloaded plugin folders inside your Moodle site directory’s “local” folder.

install-moodle-contact-form-plugin

1) The Simple Method

Pros:

  • Quick and easy.
  • Anyone can do it.

Cons:

  • You need to install Moodle’s plugin FilterCodes.
  • Your contact form’s recipient is fixed to be your Moodle site’s support contact.
  • After submitting the contact form your user will land on your site’s front page instead of the course page.

Step 1

Install and enable the FilterCodes plugin on your Moodle site.

You can install the plugin by placing the downloaded plugin folder inside of your Moodle directory’s “filters” folder.

install-moodle-filtercodes-plugin

After installing you need to go to the filters management page and enable the plugin there: Site administration > Plugins > Filters > Manage filters

enable-filtercodes-plugin-moodle

Step 2

Go to your desired course and add a HTML block to your course. To add a block to your course you need to turn on editing first then find the “Add a block” option in the Moodle’s nav drawer.

moodle-course-add-HTML-block

Step 3

After adding the HTML block you can start configuring the block content by clicking the cog icon and selecting the “Configure block” option in the dropdown menu.

To add the contact form you just need to enter code {formquickquestion} into the content input field as shown in the figure below.

moodle-course-add-tutor-form-content-field-code

Save your changes and you have added a simple contact form to your Moodle course.

moodle-course-contact-tutor-form-sidebar



Advanced Method

Pros:

  • You can define your contact form’s recipient.
  • After submitting the contact form you can keep your users on the course page.
  • You can customize the form based on your specific needs. For example, you can easily add/remove fields in the contact form.

Cons:

  • Basic knowledge of HTML is required.

Step 1

Add a HTML block to your desired course.

moodle-course-add-HTML-block

Step 2

Enter your custom form HTML code into the block content input field as shown in the figure below.

moodle-custom-contact-tutor-form-code-view

Below is the form HTML code snippet we used for our demo. You can copy and paste the code to create a simple contact form in your Moodle course. The code below sets the form recipient as teacher and you need to define teacher’s email in step 3.

<div class="block-theme-widget container">
    <form class="contact-form" action="../local/contact/index.php" method="post">
        <p class="mb-3">Have any questions about the course? Use the form below to ask your tutor.</p>

        <div class="form-group">
            <label class="sr-only" for="subject">Subject</label>
            <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required="required">
        </div>

        <div class="form-group">
            <label class="sr-only" for="message">Your message</label>
            <textarea class="form-control" id="message" name="message" placeholder="Enter your message" rows="5" required="required"></textarea>
        </div>
        <input type="hidden" id="sesskey" name="sesskey" value="">
        <input type="hidden" id="referrer" name="referrer" value="">
        <input type="hidden" name="recipient" id="recipient" value="teacher">
        <script>
            document.getElementById('sesskey').value = M.cfg.sesskey;
            document.getElementById('referrer').value = document.location.href;
        </script>

        <div class="form-group">
            <input type="submit" name="submit" id="submit" value="Send" class="btn btn-primary py-2">

        </div>

    </form>
    <!--//contact-form-->
</div>

Step 3

Now you should see a simple contact form appearing in your Moodle course but the contact form is not working yet. To make the form work you need to define the recipient’s email address. To do so you need to go to the Contact Form plugin settings page: Site administration > Plugins > Local plugins > Contact Form and set up your recipient as shown in the figure below.

moodle-contact-form-define-recipient-email

That’s it. You have successfully added a custom contact tutor form in your course.One last thing to point out though is that the contact tutor form you just added only works for logged in users (not guests). If your course allows guests access you will need to add name and email input fields to your custom form so guests can send messages to the course teacher too.