Image dans le menu de Moodle 2.x

Image dans le menu de Moodle 2.x

par Didier Jodin,
Nombre de réponses : 4

Dans la série "bidouillons, bidouillons, il en restera toujours quelque chose", et en m'inspirant de Joseph, voici une modification qui permet de faire ce dont je parlais plus haut, à savoir mettre des liens URL vers des images (des icônes) dans un menu déroulant, et sans plonger à chaque fois les mains dans le cambouis de la base SQL.

Dans "Réglages" --> "Administration du site" --> "Présentation" --> "Thèmes" --> "Réglages thème", il devient possible de personnaliser le menu avec des images si on modifie ce code (testé sous Moodle 2.2) :

  • fichier : moodle/admin/settings/appearance.php
  • ligne : 20
  • remplacer : $temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
  • par : $temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin')));

Remarque n°1 : pour une raison qui échappe au non-programmeur que je suis, remplacer simplement PARAM_TEXT par PARAM_CLEANHTML ne marche pas, mais le supprimer carrément, ainsi que les nombres qui suivent, ne semble pas poser de problème.

Remarque n°2 : avec une image dans le menu déroulant, il devient nécessaire de mettre un commentaire (le troisième champ qu'on peut placer dans une ligne du menu personnalisé), sans quoi c'est par défaut l'adresse de l'image qui apparaît sous le pointeur dans la bulle jaune, ce qui ne serait pas très élégant (voir fichiers joints).

Remarque n°3 : les précautions oratoires de Joseph, sur les limites de responsabilité, sont à mettre à la puissance 10 pour moi, puisque je ne comprends absolument rien à ce que je fais quand je touche à du php. (C'est d'ailleurs intéressant, sur un plan cognitif, qu'on puisse réussir à faire des choses qui pourtant nous restent obscures).

Remarque n°4 : ben finalement je renonce aux fichiers joints, vu que la bulle jaune disparaît quand je m'apprête à faire la capture d'écran !

P.S. Mes prochaines tentatives de bidouillage, pour deux choses qui me manquent dans M-2 alors que ça marchait dans M-1.9 : permettre à l'utilisateur invité de prévisualiser un test, et autoriser l'insertion de vidéos dans un glossaire. C'est pas gagné !

Moyenne des évaluations Utile (1)
En réponse à Didier Jodin

Re: image dans le titre d'une page de leçon

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

@Didier,

Il aurait mieux valu commencer une nouvelle discussion pour cette "bidouille" qui ne correspond plus au titre du fil de discussion. Quand Nicolas aura déplacé ton message, j'y répondrai.

@Nicolas,

Merci de déplacer vers un nouveau fil.

En réponse à Didier Jodin

Re: Image dans le menu de Moodle 2.x

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

didier "Remarque n°1 : pour une raison qui échappe au non-programmeur que je suis, remplacer simplement PARAM_TEXT par PARAM_CLEANHTML ne marche pas, mais le supprimer carrément, ainsi que les nombres qui suivent, ne semble pas poser de problème."

Euh si, ça pose problème. Si tu mettais ton Moodle en mode DEBUG (ce qu'il faudrait toujours faire quand on "bidouille"), tu verrais que Moodle n'est pas content et qu'il t'injurie avec plein de messages d'erreur". En fait il faut remplacer PARAM_TEXT par PARAM_URL, et non pas le "supprimer carrément".

tu dis "C'est d'ailleurs intéressant, sur un plan cognitif, qu'on puisse réussir à faire des choses qui pourtant nous restent obscures." Certes, mais parfois "le côté obscur de la Force" se venge.triste

En tout cas, merci de nous avoir communiqué ton "tuyau" pour avoir des menus déroulants en images plutôt que du texte. Dommage qu'il faille modifier un fichier du "core" de Moodle, ce qui risque toujours de poser problème lors des mises à jour. Je me permets de reprendre tes explications en donnant un exemple et le résultat. Au fait, le logiciel de capture d'écran Snagit que j'utilise et recommande permet de capturer les infobulles.

1.- Moodle 2.2 fichier : moodle/admin/settings/appearance.php ligne : 20

$temp->add(new admin_setting_configtextarea('custommenuitems', get_string('custommenuitems', 'admin'), get_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));

remplacer PARAM_TEXT par PARAM_URL

2.- Dans Administration du site ► Présentation ► Thèmes ► Réglages thème -> Éléments du menu personnalisé

Mettre par exemple ce code-ci:

Communauté Moodle|http://moodle.org|Le site de la communauté Moodle
-Moodle en français|http://moodle.org/course/view.php?id=20
--1.<img src="http://moodle.org/pluginfile.php/75/group/icon/195/f1" />|http://moodle.org/user/index.php?contextid=75&roleid=0&id=20&perpage=20&accesssince=0&search=&group=195|Moodleurs utiles
--2.<img src="http://moodle.org/pluginfile.php/75/group/icon/174/f1" />|http://moodle.org/user/index.php?contextid=75&roleid=0&id=20&perpage=20&accesssince=0&search=&group=174|Dévelopeurs
--3.<img src="http://moodle.org/pluginfile.php/75/group/icon/80/f1" />|http://moodle.org/user/index.php?contextid=75&roleid=0&id=20&perpage=20&accesssince=0&search=&group=80|Traducteurs

J'ai numéroté les sous-menus, pour que ce soit plus clair, mais ce n'est évidemment pas nécessaire.

3.- Résultat : voir copie d'écran ci-dessous.

Joseph

Annexe 07-03-2012 12-14-37.jpg
Moyenne des évaluations Utile (2)
En réponse à Joseph Rézeau

Re: Image dans le menu de Moodle 2.x

par Didier Jodin,

J'avais confusément conscience - si je peux me permettre l'oxymore - que c'était pas très propre... Merci de ces modifications aux modifications, ça m'économisera l'achat de quelques indulgences...

Snagit ? Hmm... je passe. La capture d'écran est tellement facile sous Mac, et si rare la nécessité d'aller pêcher des info-bulles...

Pour ce qui est des injures de Moodle (dans sa version M2), il ne sera jamais à la hauteur : ces jours-ci, il m'a fallu inventer de nouveaux mots pour lui parler, parce que mon stock de vocables grossiers était épuisé. (Et pourtant il est riche !). Les images dans les menus, ce n'était même pas un début d'agacement, par rapport à tout le boulot fastidieux que la mise à jour m'impose...