oTree Forum >

Incoporating Demo Code in Otree Studio

#1 by RechinW

Hi all,

I would like to ask if Otree studio is capable of moving between pages. The next button is already given, but I also want back buttons. I found many valuable codes in the demo snippets, but I am having trouble incorporating them into Otree Studio. Would ask for instructions, and thank you!


#2 by Chris_oTree

Hi, I have not put these apps in oTree Studio yet (would like to do so when I get a chance), but here's how you can do it:

(1) Create an includable template called 'tabs', and paste the full content from 'tabs.html' into it.
(2) Create a page called "Instructions" and from Instructions.html, copy just the stuff between {{ block content }} ... {{ endblock }}, that is:

    .tab {
        display: none;

{{ include C.TABS_TEMPLATE }}


    let activeTab = 0;
    let tabs = document.getElementsByClassName('tab');

    function showCurrentTabOnly() {
      for (let i = 0; i < tabs.length; i++) {
        let tab = tabs[i];
        if (i === activeTab) {
          tab.style.display = 'block';
        } else {
          tab.style.display = 'none';

    for (let btn of document.getElementsByClassName('btn-tab')) {
        btn.onclick = function () {
            activeTab += parseInt(btn.dataset.offset);

#3 by RechinW

Hi Chris,

Thanks for the reply! It looks like I can only edit contents in the includable template. I wonder if there is any way I can add the back button or previous tab in "pages" where I used "form_fields" to import functions. Thanks for your help!


#4 by Chris_oTree

You create 1 regular page called "Instructions" that can have form_fields, etc. And create 1 includable template called 'tabs' that gets included in the Instructions page.

Write a reply

Set forum username