Gestion de la page MyMoodle

Gestion de la page MyMoodle

par philippe juhel,
Nombre de réponses : 3

Bonjour,

Sur la page MyMoodle apparaissent les cours auxquels un utilisateur est inscrit mais comment faire apparaitre aussi les cours dont un enseignant est le créateur (et donc n'est pas inscrit à ce cours puisqu'il en est l'auteur)?

Autre question connexe, y a t-il moyen de 'gérer' cette page ou bien est-elle construite uniquement de façon automatique, donc sans possibilité de la customiser, d'y mettre les cours que l'on souhaite ou non?

Merci,

Philippe

Moyenne des évaluations  -
En réponse à philippe juhel

Re: Gestion de la page MyMoodle

par Dominique Bouillet,

Bonjour,

Je n'ai pas trouvé comment customiser Ma Page, alors j'ai modifié légèrement le source de plusieurs fichiers :

  • course/lib.php pour supprimer le détails des activités (fonction print_overview) 
  • my/index.php pour ajouter les espaces associés à un rôle ajouté
  • blocks/course_overview/block_course_overview.php pour modifier la limite de 20 cours max

Bonne journée

Dominique

 

En réponse à Dominique Bouillet

Re: Gestion de la page MyMoodle

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs

bonjour

sinon, il y a aussi (sans toucher aux sources php) des codes contribués qui peuvent modifier l'affichage de la liste des cours avec plus ou moins de liberté

toute une discussion déjà riche d'information :

https://moodle.org/mod/forum/discuss.php?d=207171

et de la docs sur les codes en lien de ce fil...

bien à vous.

En réponse à Dominique Bouillet

Re: Gestion de la page MyMoodle : Bonnes pratiques de customisation

par Valery Fremaux,
Avatar Développeurs de plugins

Bonsoir,

dans ce cas précis, des bonnes pratiques de custoisation permettraient d'éviter de toucher au code standard, altérations qui peuvent rendre difficile à terme la maintenance :

La solution que j'adopte régulièrement est :

- enclencher les "customscripts" dans le fichier de configuration de Moodle en ajoutant :

   $CFG->customscripts= $CFG->dirroot.'/local';

puis créer un répertoire 'my' dans 'local' et y copier le fichier /my/index.php

( il y maintenant /local/my/index.php )

placer une instruction "die;" en toute fin de fichier (pour éviter le rebond sur le index.php original)

Commenter l'inclusion du fichier "config.php" (celui ci aura déjà été chargé dans le premier appel au "vtai" my/index.php)

Modifier le code de cette page tranquillement, elle n'est plus dans une zone standard et Moodle y est dérouté par l'usage des customscripts.

Pour les librairies utilisées, le mieux est de recopier une fonction, en la préfixant de "local_" dans un fichier /local/customlib.php par exemple, puis d'appeler cette fonction. Cela ne marche que pour la fonction détournée, car les appels internes continueront à appeler les fonctions originales. Cel ne marche donc aussi QUE pour des fonctions que vous appelez directement dans le script détourné, sinon la tâche est plus rude car il faut détourner toutes les fonctions intermédiaires entre l'appel customisé et la fonction que l'on veut modifier.  Avec la nouvelle architecture de Moodle qui encapsule de plus en plus les librairies dans des classes, cela devient de moins en moins facile... pensif

Pour aller plus loin :

ce répertoire "my" peut devenir un plugin local, en ajoutant un fichier de version, et un répertoire de langue. ce qui peut lui permettre de détenir aussi sa propre librairie (plutôt que tout mélanger dans /local/customlib.php). il peut donc devenir "installable" !

 

Cheers

Valery / Integrateur

Moyenne des évaluations Utile (3)