Fichier CSS : printstyles.css

Fichier CSS : printstyles.css

par AGOSTA Dominique,
Nombre de réponses : 18

Bonjour,

Je souhaite installer un ficher CSS printstyles.css dans mon thème afin d'améliorer le contenu de l'impression des pages. Le contenu du css est le suivant :

@media print { 
 html, body {     margin: 0;    padding: 0;    width: 100%;
  }
body { 
    background-color: White;    color: Black;    font-size: 75%;
  }
/* Les DIV que je ne souhaite pas imprimer...*/
div.datapreferences,  div.paging, div.tabtree,  div#page-footer, div#page-header, div.navbar, div#main-slider {
    display: none;
  }
table {
    text-align: left;
  }
}

Ce fichier fonctionne parfaitement mais il permet l'impression des blocs. Or, lorsque j'ajoute  "div.region-content" dans la partie  de ce que je souhaite ne pas imprimer de mon CSS, c'est tout le contenu de la page qui ne s'imprime plus.

Autrement dit, si j'écrit ceci :

/* Les DIV que je ne souhaite pas imprimer...*/
div.region-content, div.datapreferences,  div.paging, div.tabtree,  div#page-footer, div#page-header, div.navbar, div#main-slider {
    display: none;
  }
et bien mon impression est vide. 

Je ne comprends pas pourquoi. Quelqu'un saurait-il comment faire pour ne pas imprimer les blocs ?

Merci de votre aide

Moyenne des évaluations  -
En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Je suppose que l'élément ciblé n'est pas le bon.

Ne serait-ce pas plutôt "block-region-side-pre" et "block-region-side-post" ?

Jérôme.

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Merci pour la réponse. 

J'ai testé avec div.block-region-side-pre et div.block-region-side-post (ainsi que block-region-side-pre et block-region-side-post) : la page s'imprime mais les blocs sont toujours visibles. Ce ne sont donc encore pas les bonnes cibles.

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Parce que ce n'est pas une div. Il faut essayer #block ...

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

J'ai écrit

#block-region-side-pre, #block-region-side-post {
 display:none;
  }

mais les blocs sont toujours visibles

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

un thème particulier ?

une adresse où voir ?

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Bonjour

Il s'agit du thème Modern (voir http://newschoollearning.com/store/products/modern-responsive/)

Pour accéder au site : ICI (nom utilisateur : jdemiaux - MP : ifpvps!2015)

Merci de votre aide !

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Essayez div.region-pre.block-region

Jérôme.

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Toujours pas. Les blocs s'impriment.

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

A quel endroit insérez-vous votre CSS ?

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Le fichier CSS est enregistré dans  ../moodle/theme/modern/style/printstyles.css

Je vide le cache des thèmes après chaque mise à jour.

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

L'appel de ce fichier dans le config.php du thème via $THEME->sheets doit se faire en dernier.

Y a-t-il, plus bas dans ce même fichier, un layout particulier défini pour la fenêtre print ?

Enfin que se passe-t-il si vous insérez ce code d'impression directement dans le cadre prévu à cet effet via le menu d'administration -> présentation -> thème -> nom du thème -> css personnalisée ?

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

L'appel de printstyles.css dans $THEME->sheets du fichier config.php est bien placé en dernier. 

En revanche, dans ce même fichier on trouve plus loin dans $THEME->layouts :

'print' => array(
        'file' => 'general.php',
        'regions' => array(),
        'options' => array('noblocks'=>true, 'nofooter'=>true, 'nonavbar'=>false, 'nocustommenu'=>true),
    ),

Faut-il remplacer general.php par printstyles.css ? 


Concernant l'insertion directe dans le menu d'administration -> présentation -> thème -> nom du thème, il n'y a pas de champ "css personnalisée" pour ce thème.


En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Non.

Cela veut simplement dire que le layout utilisé pour générer l'impression est vraisemblablement le même que pour les autres pages, general.php

Dans cette configuration, l'impression est déjà programmée pour éliminer les blocs, le pied de page et les menus customisés sans aucune intervention de l'utilisateur, ce que montre bien une tentative d'impression du modèle déployé sur le site test du thème.

Votre personnalisation a peut-être été un peu trop intrusive. Version de Moodle ?

En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Moodle version 3.0

Lorsque j'imprime la page du site test du thème, j'ai aussi les blocs...

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Je sèche ! Sans avoir le produit entre les mains, c'est toujours plus dur de pouvoir établir un diagnostic, d'autant plus que le style est déjà prévu pour imprimer sans blocs.

Bien que cela n'ait certainement aucune relation, les caractéristiques des thèmes ont évoluées à partir de la 2.9. Il est certain que les thèmes conçus pour des versions antérieures présentent quelques dysfonctionnements mineurs.

S'agissant ici d'un élément acquis à titre onéreux, vous pouvez aussi vous tourner vers les développeurs qui devraient vous apporter un minimum d'aide.


En réponse à Jérôme DEMIAUX

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Très bien, merci pour votre aide. En effet, je vais contacter le fournisseur du thème.

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par AGOSTA Dominique,

Voilà, j'ai la réponse du fournisseur du thème. Vous n'étiez pas très loin (vous avez proposé "div.region-pre.block-region") et bien la bonne réponse est : "#region-pre div.region-content".  J'ai essayé de n'écrire que "#region-pre" et cela fonctionne aussi.

Les blocs n'apparaissent certes plus mais il reste un emplacement vide de la taille des blocs sur la gauche de la page d'impression. J'ai solutionné le problème en ajoutant "margin-left:-280px;" au body du css. Si vous avez une meilleure solution, je suis preneur !

Encore merci de votre aide.

En réponse à AGOSTA Dominique

Re: Fichier CSS : printstyles.css

par Jérôme DEMIAUX,
Avatar Traducteurs

Oui, effectivement, en me relisant maintenant, je m'aperçois que je me suis trompé en recopiant le code CSS plus haut, c'est ballot.

L'essentiel reste que le concepteur ait pu vous dépanner rapidement.