Bonjour,
Comme vous le savez, en page d'accueil, une fois authentifié ou non, si on affiche la liste des cours, tous les cours disponibles s'affichent (sauf les cours masqués donc)...
Quand dans notre organisation on construit une "arborescence" de cours, organisés en "parcours", par des liens méta-cours ou cohortes, il peut être souhaitable de n'afficher que les cours d'accueil de ces "parcours", sinon, c'est un vrai bazar. On peut aussi souhaiter de n'afficher que des cours "choisis", pour des raisons de communication, dans cette liste, surtout sur la page d'accueil avant authentification.
Pour faire ça, j'ai trouvé un bout de code intéressant dans : \course\classes\category.php
J'ai ajouté en ligne 705 une condition à la fonction "can_view_course_info" : if (!$course->idnumber) { return false; }
Du coup, seuls les cours dans lesquels on a renseigné le champ "N° d'identification du cours" s'affichent dans la liste des tous les cours en page d'accueil.
Je n'ai pas remarqué d'effet de bord, je n'utilise pas de réseau de Moodle (cours externes), et ce champs ne semble pas utilisé pour autre chose dans Moodle.
Je reconnais qu'il s'agit d'une solution un peu "cheap" et qu'un champ dédié (une case à cocher "Afficher en page d'accueil") serait une bien meilleur solution mais bon... reste à adapter le fichier langue pour se souvenir de l'astuce et régler les exceptions git ou faire attention lors des mises à jours...
Si j'observe d'éventuels dysfonctionnement avec cet ajout, je vous tiendrai informé. Si certains d'entres-vous anticipent déjà des pb, merci d'avance de m'en / nous en faire part ;)
A bientôt,
Eric