Réduire les blocs, pour les utilisateurs

Re: Réduire les blocs, pour les utilisateurs

par Joseph Rézeau,
Nombre de réponses : 6
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Hello Daniel,
C'est de l'humour d'auto-entrepreneur, je suppose ? big grin
Joseph
En réponse à Joseph Rézeau

Re: Réduire les blocs, pour les utilisateurs

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Non Joseph,clin d’oeil

Juste une astuce pour tromper l'ennemi !
Puisque son commanditaire veut juste le titre de blocs qui ne servent à rien... alors pourquoi pas une image fixe grand sourire
Pourquoi faire compliqué ?
C'est ma philosophie... bien adaptée aux temps de crise...

Daniel
Qui plaisante pendant que Séverin travaille déjà sur ce problème ...rouge
En réponse à Daniel Méthot

Re: Réduire les blocs, pour les utilisateurs

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Que seul le titre soit visible, par défaut... mais actif, pour pouvoir déplier et voir le contenu du bloc clin d’œil

Je verrais s'il y a de l'acharnement sur cette demande, qui me semble irréalisable correctement...
En réponse à Séverin Terrier

Re: Réduire les blocs, pour les utilisateurs

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

Hello Séverin,

C'est bien ce que j'avais compris... mais je persiste à dire que c'est une idée stupide. En effet, l'ergonomie normale de ces blocs veut que ce soit l'utilisateur final (l'étudiant ou l'enseignant) qui décide s'il veut que chacun de ces blocs soit replié ou déplié, décision qu'il peut modifier à tout instant, mais qui reste stockée dans ses cookies.

Vouloir "forcer" les blocs à un état donné (en l'occurrence à l'état replié) à chaque nouvelle session c'est vouloir nier à l'utilisateur final la liberté de choisir son état favori. Je suis évidemment contre.angry

Joseph

En réponse à Joseph Rézeau

Re: Réduire les blocs, pour les utilisateurs

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Je sais bien que tu avais compris, je répondais plutôt à Daniel clin d’œil

Et je suis tout à fait du même avis que toi.
Séverin
En réponse à Séverin Terrier

Re: Réduire les blocs, pour les utilisateurs

par Eric Salice,
Oui, effectivement, pour les blocs HTML, le type du bloc n'est pas dans l'attribut class et il peut y en avoir plusieurs (comme pour les autres blocs d'ailleurs) donc mon petit code ne fonctionne pas.

Mais je l'ai adapté pour autorisé aussi une position en plus d'un nom de type de bloc dans la liste des blocs à cacher. On peut donc maintenant écrire:

var blocks = [0, "block_admin", "block_news_items", 8];

Pour cacher le premier bloc (n° 0), le bloc administration, le bloc dernières nouvelles et le 9ème bloc.

Le bloc sont numérotés à partir de 0 de haut en bas en commençant par la colonne de gauche.

J'ai aussi fait en sorte qu'il n'y ait plus de message d'erreur javascript si les blocs ne peuvent pas être réduits.

Bon, évidemment, il faut que tes utilisateurs ne puissent pas ajouter/supprimer des blocs.

Pour participer à la polémique et me faire un peu l'avocat du diable, je dirais que je comprends qu'on veuille réduire certains blocs un peu à la manière d'un menu qui se ré enroule automatiquement. Je pense en particulier au bloc administration.

Une autre idée qui me vient à l'esprit serait de rassembler certains blocs dans un menu accordéon pour gagner de la place et ne pas surcharger la page.

Éric
En réponse à Eric Salice

Re: Réduire les blocs, pour les utilisateurs

par Eric Salice,
Voilà un petit script qui permet de rassembler des blocs dans un accordéon.

Il suffit de décompresser le fichier zip dans le répertoire lib de Moodle puis d'ajouter les lignes

<?php
require_js($CFG->wwwroot . '/lib/jquery.js');
require_js($CFG->wwwroot . '/lib/jquery.ui.core.js');
require_js($CFG->wwwroot . '/lib/jquery.ui.widget.js');
require_js($CFG->wwwroot . '/lib/jquery.ui.accordion.js');
require_js($CFG->wwwroot . '/lib/blockaccordion.js');
?>

Dans le fichier header.html du thème avant la ligne

<?php include("$CFG->javascript"); ?>

La première ligne du fichier blockaccordion.js définit les blocs à rassembler dans un accordéon. Par exemple,

var accordionBlocks = ["block_admin", "block_news_items", 8];

On peut indiquer le type du bloc ou sa position.

Les blocs apparaîtront dans le même ordre dans l'accordéon.

Dans la ligne

blockAccordion(accordionBlocks, "right", 1);

"right" et 1 indiquent respectivement la colonne et la position dans la colonne de l'accordéon (les positions commencent à 0). On peut changer le "right" en "left" pour le placer dans la colonne de gauche. Petite remarque, la position est la position finale de l'accordéon dans la liste des blocs. Donc si la colonne contient des blocs qui seront rassemblés dans l'accordéon, il ne faut pas en tenir compte dans le calcul de la position de celui-ci (ça ne m'a pas l'air très clair, ce que je dis là clin d’œil).
Par défaut, la colonne est "left" et la position 0.

On niveau des styles CSS, dans le thème standard, j'ai juste dû ajouter les lignes

.accordion {
border-bottom: solid 1px #dddddd;
padding: 0;
}

.accordion.sideblock .content {
border-bottom: none;
}


.accordion .ui-icon-triangle-1-e {
background-image: url(pix/t/switch_plus.gif);
float: right;
height: 11px;
margin-top: 4px;
width: 11px;
}

au fichier styles_layout.css.

La dernière règle permet d'afficher un petit signe "plus" à côté des titres des blocs repliés dans l'accordéon. J'ai dû ajouter un répertoire "t" dans le répertoire "pix" du thème standard et j'y ai placé le fichier "switch_plus.gif" trouvé dans le répertoire "pix/t" de Moodle.

Voilà, j'espère n'avoir rien oublié.

Éric