Adding a "Layer"



I'm just starting out with Opigno and like what I see. I do have one question tough:

Is it possible to add a "Layer" to a course?

What do I mean with that:

The default behaviour is this:

  1. Add a new course (for the sake of convenience let's only include "Lessons")
  2. Click "Lessons"
  3. Create a new lesson

What I want is this:

  1. Add a new course (for the sake of convenience let's only include "Lessons")
  2. Click lessons
  3. Now instead of creating a lesson I would like to add "containers/categories". They should just be square boxes that that I can add with a WYSIWYG Template. If you still don't know what I mean it should look something like this:

Box 1 Box 2 Box 3 Box 4 Box 5 Box 6

and so on...

  1. Clicking on a Box I get to the third part of the default behaviour, ie after clicking let's say "Box 1" I can now add 20 Lessons with quizes etc.

Is something like that possible and if yes how would I go and do it?


Hi ed-media. Thank you for your interest in Opigno. As usually with Drupal based projects, there are many ways to achieve this. Are you familiar with Drupal and Views ? If not, let me know, and I will provide more details on what is about to follow :-) A good way to categorize content is using Taxonomy. I would first create a Taxonomy vocabulary for each tool type (one for lessons, one for videos, etc - let's focus on Lessons only for sake of clarity). Next, I would alter the Lessons View (`/admin/structure/views/view/opigno_quizzes/edit`), changing the URL to have a 2nd parameter (like `node/%/quizzes/%`), where this second parameter is the taxonomy term ID. Go to *Advanced Settings > Contextual filters > Add*, choose *Taxonomy Term ID*. Then, select "Provide default value", and "Raw value from URL". Choose the correct URL part (n° 4 in my example). Now, the view will only list content that has a specific taxonomy term ID. Now, the old `node/%/quizzes` URL is no longer working; you need to provide this page. The best way would be to create a new view, with the `node/%/quizzes` path. This view would list all *taxonomy terms* attached to *lessons* within this *course*. This will require some advanced Views knowledge, so let me know if you need any help here. I recommend a "Unordered list" display using fields. This gives you maximum flexibility to style it the way you want with CSS (check the Videos list in Opigno 1.10+ for an example). Use "Rewrite field output" for one of the fields, putting the correct URL (`node/[course-nid]/quizzes/[taxonomy-tid]`), so a link will always go to the correct page. Hope this helps. Again, don't hesitate to ask if you need any help. Best regards.

"Are you familiar with Drupal and Views ?" Sadly no, this is my first time working with Drupal. I switched from Django(-CMS) to Drupal. So I'm still a bit overwhelmed with the power of Drupal. I'll try what you wrote with Taxonomy and see where I end up :)

So I tried but failed to complete what you wrote :( Would it be possible to maybe do this?: 1. I create a course with Lessons and Videos. (Videos isn't really relevant I wont change anything there) 2. After creating the Course I click on lessons. 3. Now, instead of creating a lesson I create a "Handlungsbereich". (One "Handlungsbereich" can have many Lessons. One Course can have many "Handlungsbereiche") 4. Now i created 6 "Handlungsbereiche". I click in the first one. 5. I can now add my Lessons. As I said before one "Handlungsbereich" kann have many Lessons. Thanks again for taking the time

Sounds like what you are asking for is called a "Learning Path", which I've seen in chamilo

"This organizational tool allows you to generate or update learning paths to help guide your students through a specific sequence of learning objects/experiences. It can be configured in various ways e.g. to require students to undertake tasks in a given order, or to allow the repetition of certain activities.".

I've seen a similar thing in Moodle called a "lesson", both of those are kind of like mini courses within a course.

I've tried both Chamilo and Moodle and both have some nice features. However, they features are locked in stone. You can't change any of their features. I love the fact that Opigno is based upon Drupal (which I've used for 8 or 9 years). With Drupal you can create almost any reasonable feature you want. Drupal has a wonderful feature called "Content Type" which, using various "fields" allows you to create almost any type of page that you want.  For example I created a page for my son to write essays, with a separate text box for each stage of the essay. On the page there are 6 tabs (the label of each is underlined in red) and on each of the 6 tabs is kind of a page, each of which contains wysiwyg editors. He can step through the assignment by filling in each text box.

Image removed.

Maybe you could just create what you want. First you need to define exactly what it is that you want.

Best Wishes,




Hi StephenW, a learning path is a yes and no for us. One does not have to start with "Handlungsbereich 1" they could start with "Handlungsbereich 5" if they like that topic more. Other than that it's very basic and straight forward:
  • I enroll in a course I would like to learn more about.
  • I choose "Handlungsbereich 1" within that course.
  • Within "Handlungsbereich 1" I choose "Lernbaustein 1" (Lernbaustein = Lesson).
  • This "Lernbaustein" gives me all the information I need for the following questions ie Drag & Drop, MC etc.
The reasson why we don't use a fully blown LMS like Moodle is because we also want to have a CMS and don't want to run two systems. Now the CMS is nothing fancy just a news page and some space (blocks) for sponsors/ads. I know that we can do what we want with Opigno but as I said this is my very first project with Drupal so even tough I have years of experience with Django and Django-CMS I'm a total noob when it comes to Drupal. From what I've seen so far Drupal ist very very very powerful and compared to Django(-CMS) "better". Some things in Drupal are totaly easy like installing a addon/modul copy a link and press enter that's it compared to django where you have to sync the db manual, edit the settings, add a url to the config etc... Others are probably also easy like changing the views, as wadmiraal said, but only if you know drupal like I know Django.