2017-02-27 22 views
0

使用Moodle的3.1是相當新的Moodle的發展,我想知道如何在課程中添加的每個活動/資源中的自定義按鈕或鏈接會在課程視圖頁面上完成與標記完成複選​​框相同的工作,但會從單個活動(或資源)頁面中完成。如何在課程活動自定義功能添加自定義按鈕/資源

Ofcourse,想做到這一點的理想模塊化Moodle的方式,這樣即使升級後,功能不會抹去。

是否有設置或配置可以做,來實現這個還是我需要寫一個完全成熟的插件?

如果通過插件,那麼在這個方向上的任何步驟將是有幫助的。

回答

0

使用網站管理的外觀部分的其他HTML中,你可以添加JavaScript,將操作DOM。

Additional HTML link in Site Administration

這是一個有點苛求的目標所有活動和資源,並沒有其他的Moodle的功能,但我使用的方法是find an ID that is unique to that page, and use JavaScript to insert the button and functionality that you want

例如,假設您想在新聞論壇活動中添加一個新按鈕。

有在新聞論壇一個div類的forumaddnew',所以我會用它作爲插入我的新按鈕的地方。 screenshot of source code

var YourCustomButton = '<input type="button" id="mybutton" value="New Function Button" class="custom"/>'; 

/* make sure script only runs if div exists */ 
if (!document.getElementsByClassName('forumaddnew')[0]) { 
    /* do nothing */ 
} else { 
    var forum = document.getElementsByClassName('forumaddnew')[0]; 
    forum.insertAdjacentHTML('beforebegin', YourCustomButton); 
} 

/* EVENT LISTENER FOR CUSTOM BUTTON */ 
if (!document.getElementById('mybutton')) { 
    /* do nothing */ 
} else { 
    document.getElementById("mybutton").addEventListener('click', function() { 
     alert('custom button clicked'); 
     //stuff you want your custom button to do 
    }); 
} 
+1

謝謝,這聽起來不錯! – user7616631

0

我一直在Moodle附近,我非常確定這是不可能的。每個資源和活動都存儲在服務器上的/ mod目錄中。其中每個都有自己的view.php文件。當活動結束後,和進入寫入prefix_course_modules_completion表

爲什麼不能夠由用戶自行完成。

+0

感謝您的回覆!我們知道「自我完成」選項,但對於這個特殊情況,要求是故意要學生手動標記它完成,以確保他們已經看到它並自己這樣做。 – user7616631