Disposition des blocs

Disposition par défaut des blocs des nouveaux cours

Pour modifier la disposition par défaut des blocs dans les nouveaux cours, une ou plusieurs des lignes ci-dessous peuvent être ajoutées au fichier config.php, en remplaçant les noms des blocs (en anglais !) suivant l'effet désiré.

Cette ligne, si elle est utilisée, a priorité sur toutes les autres et les rends donc inutiles :

$CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';

Les lignes ci-dessous définissent des réglages spécifiques aux différents formats de cours. Elles ont priorité sur les réglages définis dans les fichiers de configuration des formats de cours.

$CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';
$CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list';
$CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
$CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';

La ligne ci-dessous est utilisée si aucun autre réglage par défaut n'est trouvé.

$CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';

L'exemple ci-dessous montre comment faire en sorte que, pour les nouveaux cours en format thématique, les blocs affichés dans la colonne de gauche soient les blocs Participants, Tags et Administration et ceux de la colonne de droite les blocs Messages, Utilisateurs connectés et Activité récente.

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

Remarquez comment le caractère deux-points (:) sépare les blocs de gauche de ceux de droite.

Réinitialisation de la disposition des blocs des cours existants

Avant d'effectuer cette opération, il est chaudement recommandé d'effectuer une sauvegarde de la base de données de votre plateforme.

La disposition des blocs dans les cours existants peut être réinitialisée. Pour ce faire,

  1. copier le script ci-dessous dans un fichier texte pur,
  2. l'enregistrer sous le nom resetblocks.php,
  3. le copier dans le dossier de Moodle sur votre serveur, et
  4. visiter l'URL http://votre_site_moodle.fr/resetblocks.php.

Attention: ce script changera l'aspect des pages des cours et retirera certains blocs de ces pages, s'ils n'ont pas été indiqués dans le fichier config.php (voir ci-dessus). Assurez-vous de faire le nécessaire pour ces cours et préparez-vous à passer du temps pour rajouter certains blocs à la main, le cas échéant.

Pour Moodle 2.2 et ultérieur

<?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 = get_context_instance(CONTEXT_COURSE,$course->id);
   $context = context_course::instance($course->id);
   blocks_delete_all_for_context($context->id);
   blocks_add_default_course_blocks($course);
} 
?>

Pour Moodle 2.0 à 2.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);
} 
?>