ブロックレイアウト

新規コースのデフォルトブロックレイアウト

新しいコースのデフォルトのブロックレイアウトを修正するために、 config-dist.phpからの次の行(スラッシュを除く )の1つ以上をconfig.phpに追加して、必要に応じてブロック名を修正することができます。

// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
//      $CFG->defaultblocks_override =    'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//
// These variables define the specific settings for defined course formats.
// They override any settings defined in the formats own config file.
//      $CFG->defaultblocks_site = 'site_main_menu,course_list:course_summary,calendar_month';
//      $CFG->defaultblocks_social =  'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,course_list';
//      $CFG->defaultblocks_topics =  'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//      $CFG->defaultblocks_weeks =  'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
// These blocks are used when no other default setting is found.
//      $CFG->defaultblocks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';</pre>

たとえば、トピック形式のコースのデフォルトのブロックレイアウトを左側の[人]、[タグと管理]、右側の[メッセージ]、[オンラインユーザー]、[最近の活動]に設定するには、 config.phpファイルに次の行を追加します。

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

コロンが、左側に表示されているブロックと右側に表示されているブロックを区切るために使用されていることに注意してください。各コンマの後にスペースはありません。追加の注意:Navigationブロックと管理ブロックは、これらの設定を使用してカスタマイズすることはできません。

既存コースのブロックレイアウトをリセットする

既存のコースのブロックレイアウトは、以下のスクリプトをテキストファイルにコピーしてresetblocks.phpとして保存し 、それをMoodleルートディレクトリにコピーしてから、にアクセスしてリセットできます。
https://yourmoodlesite.org/resetblocks.php

警告 :このスクリプトはあなたのコースページのレイアウトを変更し、それらがconfig.php行で指定されていなければそれらのページからブロックを削除するかもしれません。どのコースがconfig.php行にないブロックを持っているか確認して、コースページにブロックを追加する時間をかけてください。 スクリプトを使用する前にデータベースのバックアップを作成することをお勧めします

M2.2以降

<?php
//moodle 2.2+
require_once('config.php');
require_once($CFG->libdir.'/blocklib.php');
$courses = get_courses();//can be feed categoryid to just effect one category
foreach($courses as $course) {
   $context = context_course::instance($course->id);
   blocks_delete_all_for_context($context->id);
   blocks_add_default_course_blocks($course);
} 
?>

M2.0からM2.2:

<?php
//moodle 2.0 - 2.2
require_once('config.php');
require_once($CFG->libdir.'/blocklib.php');
$courses = get_courses();//can be feed categoryid to just effect one category
foreach($courses as $course) {
   $context = get_context_instance(CONTEXT_COURSE,$course->id);
   blocks_delete_all_for_context($context->id);
   blocks_add_default_course_blocks($course);
} 
?>