簡體   English   中英

Moodle:如何在新課程中將默認塊設置為自定義區域?

[英]Moodle: how do I set default blocks into custom region in new courses?

我有一個帶有自定義區域(即“頂部”和“底部”)的Moodle網站。 我想自動將HTML塊添加到頂部區域中的所有新課程。

我在config.php有這些,並且該塊已添加到新課程中,但是在錯誤的地方添加到side-pre區域...如何更改此值以將塊添加到頂部區域?

'course' => array(
    'file' => 'course.php',
    'regions' => array('side-pre', 'top', 'bottom'),
    'defaultregion' => 'bottom',
    'options' => array('nonavbar'=>false),

$CFG->defaultblocks_override = 'html';
$CFG->defaultblocks_site = 'html';
$CFG->defaultblocks_social = 'html';
$CFG->defaultblocks_topics = 'html';
$CFG->defaultblocks_weeks = 'html';

從文檔中引用( 新課程的默認塊布局 ):

$CFG->defaultblocks_topics = 'participants,tags,admin:messages,online_users,recent_activity';

請注意,如何使用冒號將出現在左側的那些塊與出現在右側的那些塊分開。

似乎您必須使用冒號。 我看了一下解析該字符串的函數代碼(在lib/blocklib.php ,函數blocks_parse_default_blocks_list ,Moodle 2.4),我認為它只能處理左右區域( side-preside-post )。 對於不可靠的解決方案,您可以更改以下代碼行(在lib/blocklib.php ):

define('BLOCK_POS_LEFT',  'side-pre');

至:

define('BLOCK_POS_LEFT',  'top');

但是我認為更好的解決方案是使用“粘性”塊(需要Moodle > 2.3 )。 看看這個文檔 以下是不同的步驟:

  1. 在首頁添加塊;
  2. 編輯塊的組態。 出現此塊的部分中,選擇“在整個站點中顯示”
  3. 根據需要選擇默認區域(在您的情況下為topbottom )。
  4. 現在,您只需要在課程上顯示塊。 輸入課程。 編輯課程(在課程中),然后在“在頁面類型顯示”中選擇“ 任何課程頁面”

現在,這些塊將僅顯示在課程頁面上(而不顯示在首頁上)。

學分: 回復:在Moodle 2.0的所有課程中都受阻 我親自在Moodle 2.4安裝上對其進行了測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM