Bonjour à tous,
Suite à une demande de nos enseignants, nous avons mis en place un bouton à côté du bouton "Activer le mode édition" qui permet de prendre directement le rôle étudiant, sans avoir à naviguer dans le bloc d'Administration au sein d'un cours.
Voici le résultat :
Et voici, l'aperçu, en ayant pris le rôle étudiant :
Si l'implémentation de cette fonctionnalité vous intéresse, il faut d'abord ajouter cette fonction au fichier lib.php de votre thème (par exemple : chemin_vers_moodle/theme/votre_theme/lib.php) :
/**
* Return swicthing role button
*
* @return string HTML
*/
function theme_cleanupf_rolebutton() {
global $DB, $USER, $CFG, $PAGE;
$course = $PAGE->course;
$context = context_course::instance($course->id);
$user = $USER;
$html = '';
if (is_role_switched($course->id)) {
if ($role = $DB->get_record('role', array('id' => $user->access['rsw'][$context->path]))) {
$url = new moodle_url('/course/switchrole.php', array('id'=>$course->id,'sesskey'=>sesskey(), 'switchrole'=>0, 'returnurl'=>$PAGE->url->out_as_local_url(false)));
$label = "Retour vue enseignante";
$html = ' <a class="btn btn-warning" href="'.$url.'"><i class="fa fa-eye"> </i>';
$html .= '<span>'.$label.'</span>';
$html .= '</a>';
}
} else {
if ($PAGE->user_allowed_editing()) {
$url = new moodle_url('/course/switchrole.php', array('id'=>$course->id,'sesskey'=>sesskey(), 'switchrole'=>5, 'returnurl'=>$PAGE->url->out_as_local_url(false)));
$label = "Vue étudiante";
$html = ' <a class="btn btn-primary" href="'.$url.'"><i class="fa fa-eye"> </i>';
$html .= '<span>'.$label.'</span>';
$html .= '</a>';
}
}
return $html;
}
Puis appeler cette fonction à l'endroit désiré dans votre layout de la page cours (par exemple : chemin_vers_moodle/theme/votre_theme/layout/course.php) :
<div id="page-navbar" class="clearfix">
<nav class="breadcrumb-nav"><?php echo $OUTPUT->navbar(); ?></nav>
<div class="breadcrumb-button">
<?php echo theme_cleanupf_rolebutton(); ?>
<?php echo $OUTPUT->page_heading_button(); ?>
</div>
</div>
http://getbootstrap.com/2.3.2/base-css.html#icons
Le code étant sans doute perfectible, n'hésitez pas si vous avez des remarques !
Seb