Affichage "liste combinée" dans Mon Moodle

Affichage "liste combinée" dans Mon Moodle

par Fr de Thysebaert,
Nombre de réponses : 8

Bonjour,

connecté comme admin j'ai la page d'acceuil configurée avec l'affichage sous forme "liste combinée" qui m'affiche donc les catégories de cours, sous catégories et cours.

J'impose aux étudiants "Mon Moodle" avec certains blogs. Par contre cet affichage présente uniquement la liste des cours auxquels est inscrits l'étudiant. Puis-je forcer ce type d'affichage pour avoir une liste combinée qui regroupe les cours par catégories et sous catégories, ce qui offrirait une navigation plus claire aux étudiants me semble-t-il ?

merci

Moyenne des évaluations  -
En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Fr de Thysebaert,

Bonjour

je reiens avec cette question qui n'a pas soulevé beaucoup d'enthousiasme triste

les étudiant dans "mon moodle" on donc par défaut un affichage sous forme de liste de tous les cours auxquels ils sont inscrits.

Je souhaiterais un affichage de tous ces cours mais ..avec les catégories et sous catégories éventuelles dans lesquels sont ces cours donc quelques choses du genre de l'affichage de l'admin quand il se connecte sur sa page d'acceuil (liste combinée je pense).

merci

En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Jérôme DEMIAUX,
Avatar Traducteurs
Il existe un bloc "mes cours" (non standard) qui affiche:
  1. avant connexion : rien
  2. après authentification la liste des cours de l'étudiant classés par catégories à la manière d'un explorateur windows
  3. avec un lien vers un affichage complet de toutes les catégories et de tous les cours.

Annexe bloc.jpg
En réponse à Jérôme DEMIAUX

Re: Affichage "liste combinée" dans Mon Moodle

par Fr de Thysebaert,

merci déjà pour cette piste.

ce blog est sur le Moodle anglais dans la catégorie des plugin ?

Cela reste un blog, donc l'affichage liste de tous les cours sur la page "mon moodle" reste, et delle la je ne peut la changer ?

fr

En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Fr de Thysebaert,
Bonjour
je reviens avec cette ancienne question toujours en suspens pour moi.
Ce bloc est-il compatble V1.9 ?
le tri des cours afficher semble être par id, peut-on modifier ce tri pour l'avoir par catégorie puis sous catégorie puis par cours ? Et pour compliquer par sur l'id qui semble être liée au moment ou l'on crée le cours mais sur son nom ou titre par exemple.

merci déjà a tous

fr
En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Jérôme DEMIAUX,
Avatar Traducteurs
Bonjour,
Bloc toujours opérationnel sous 1.9.
Pour le tri, il faudrait rentrer dans le code et là, c'est une autre histoire ...
Jérôme.
En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Valery Fremaux,

Le CODE !! Ouarrfffffff !!

aucun problème.

Solution dès que je peux trouver dix minutes (ou quelqu'un a posté avant moi clin d’œil)  

En réponse à Fr de Thysebaert

Re: Affichage "liste combinée" dans Mon Moodle

par Jérôme DEMIAUX,
Avatar Traducteurs
Pour clarifier les problèmes:
  1. Oui le bloc "MyCourses" est toujours en course pour la version 1.9 même si en mode édition, il génère un petit avertissement non bloquant.

  2. Mais visiblement ce n'est pas ce que tu recherches et tu veux que sur les pages étudiant Moodle/my la liste combinée des cours qui apparaît soit ordonnée par catégories -> sous catégories -> cours le tout par ordre alphabétique.
Valery peut certainement proposer une solution basée sur une modification du code Moodle, mais ce n'est jamais (je pense) une bonne solution si l'on veut par la suite effectuer des mises à jour de ce même code.

Jérôme.
En réponse à Jérôme DEMIAUX

Re: Affichage "liste combinée" dans Mon Moodle

par Valery Fremaux,

Exact, ce n'est en général pas trop une bonne idée, surtout pour du code "de base" (distribution officielle de Moodle), car ces patches disparaissent à la mise à jour et il faut des compétences techniques pour les suivre.

C'est un petit peu moins grave pour les plugins tiers-partie, surtout pour ceux qui présentent une petite fonctionnalité, car ils seront moins à même d'évoluer. On peut également penser que des plugins qui n'ont pas été touchés depuis un certain temps sont à peu près stable, tant que la compatibilité avec les évolutions de Moodle n'est pas mise en cause.

En tout cas, pour ce problème, voilà la solution :

Dans le fichier /blocks/myCourse/block_myCourses.php §350

Remplacer le code de la fonction create_tree_menu(...) par celui-ci :

    function create_tree_menu($categories, &$pnode) {
        global $CFG;
        $nicon = 'folder.gif';
        $eicon = 'folder-expanded.gif';
       
        if (! function_exists('sort_by_name')){
            function sort_by_name($a, $b){
                if ($a->name == $b->name) return 0;
                return ($a->name > $b->name) ? 1 : -1;
            }
        }
        if (! function_exists('sort_by_shortname')){
            function sort_by_shortname($a, $b){
                if ($a->shortname == $b->shortname) return 0;
                return ($a->shortname > $b->shortname) ? 1 : -1;
            }
        }
       
        uasort($categories, 'sort_by_name');
        foreach ($categories as $catid => $catnode) {
            if (!$catnode->hascourses) continue;
            $node = &$pnode->addItem(new HTML_TreeNode(array('text' => ' '.$catnode->name, 'link' => '',
                                                             'icon' => $nicon, 'expandedIcon' => $eicon,
                                                             'cssClass' => 'treeMenuDefault')));
            if (!empty($catnode->categories)) {
                $this->create_tree_menu($catnode->categories, $node);
            }
            if (!empty($catnode->courses)) {
                uasort($catnode->courses, 'sort_by_shortname');
                foreach ($catnode->courses as $course) {
                    $linkcss = '';
                    if ($this->course->id == $course->id) {
                        $url = '';
                        $text = $course->shortname;
                        $cssclass = 'treeMenuBold';
                    } else {
                        $url = $CFG->wwwroot.'/course/view.php?id='.$course->id.
                               '" title="'.htmlspecialchars($course->fullname, ENT_QUOTES).$linkcss;
                        $text = $course->shortname;
                        $cssclass = 'treeMenuDefault';
                    }
                    $node->addItem(new HTML_TreeNode(array('text' => $text, 'link' => $url,
                                                           'icon' => $nicon, 'cssClass' => $cssclass)));
                }
            }
        }
    }
 

J'essaye par ailleur d'enlever cette horrible icone de dossier pour les cours...