Styles CSS avec iFrame et le bouton Imprimer de Joomla

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Styles CSS avec iFrame et le bouton Imprimer de Joomla

    Bonjour à tous
    Comment appliquer une feuilles de styles à une iFrame ou simplement avec le bouton Imprimer de Joomla! ?
    Mon exemple est un tableau que le visiteur pourrait imprimer.
    En frontend le tableau est géré par une feuille de style (custom). Tout va bien.
    Si on veut imprimer, la css n'est pas appliqué.

    Tableazu front end :
    demeuredeprovence.com/reservation-domaine-la-garenne-st-marc-jaumegarde-provence-13

    Tableau en iFrame
    demeuredeprovence.com/calendrier-2015

    Merci de votre aide & bonne journée
    Toutsi

  • #2
    Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

    Bonjour Toutsi,

    Le bouton Imprimer d'un article ajoute ?tmpl=component à l'URL de l'article. C'est alors le fichier component.php de ton template qui est utilisé.

    Il faut donc y ajouter ton custom.css à templates/tontemplate/component.php pour qu'il soit pris en compte.

    C'est la même chose pour le popup calendrier-1015 qui utilise aussi ?tmpl=component

    Amicalement,
    Rajoz

    Commentaire


    • #3
      Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

      Bonjour Rajoz
      Merci pour ta réponse. Faut il un "/" avant ?tmpl=component svp ?
      Envoyé par Rajoz Voir le message
      Il faut donc y ajouter ton custom.css à templates/tontemplate/component.php pour qu'il soit pris en compte.
      J'avoue ne pas comprendre ton explication d'ajouter le custom.css & component.php.
      Puis je avoir plus d'info svp ?
      bonne journée
      Dernière édition par Toutsi à 17/11/2014, 12h57
      Toutsi

      Commentaire


      • #4
        Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

        Bonjour Toutsi,

        Ne connaissant pas ton template j'ai fait une réponse sur la base des templates natifs de Joomla (Beez3 et Protostar).
        Ton template semble être une version personnalisée d'un template de JoomSpirit (peut-être un template commercial). Comme je ne connais pas les templates de JoomSpirit j'ai téléchargé JoomSpirit 99 qui est leur template gratuit le plus récent.

        D'abord une explication complémentaire sur &tmpl=component

        On peut passer des paramètres dans l'URL avec ? pour le premier et & pour les suivants.
        Ainsi si l'url d'un article est : http://monsite.fr/index.php/monarticle
        L'url du même article pour l'imprimer est : http://monsite.fr/index.php/monartic...&print=1&page=
        • ?tmpl=component : indique qu'il faut se servir de component.php au lieu de index.php
        • &print=1 : indique qu'il s'agit d'une impression
        • &page= : paramètre pour la pagination (ici vide)

        Tu peux voir l'impact chez toi de ?tmpl=component sur les liens suivants :
        Le premier affichage utilise le fichier index.php du template (templates/[montemplate]/index.php) qui comporte tout ce qu'il faut pour le site avec le style, les modules, etc.

        Le deuxième affichage dont l'url comporte &tmpl=component utilise le fichier component.php (templates/[montemplate]/component.php) qui ne permet que l'affichage des messages système et du composant (pas de modules, pas de menu, pas de logo, pas de footer, etc.). Tu peux regarder par exemple le code des fichiers component.php de Protostar ou de Beez3 qui appellent des css du template et dont le body est réduit aux messages et au composant.

        De plus dans certains templates comme JoomSpirit 99 (ce doit être la même chose pour ton template) il n'y a pas de fichier component.php dans le template. Dans ce cas, Joomla utilise celui qui se trouve dans templates/system/component.php qui n'appelle que le strict minimum de css et bien sûr le css que tu as défini dans le custom.css de ton template n'est pas utilisé.

        Tu peux vérifier si ton template a ou n'a pas ce fichier en cherchant templates/lagarenne/component.php

        Si c'est bien comme JoomSpirit 99 et que ton template n'a pas de fichier component.php, la solution que j'avais donnée d'y ajouter le custom.css ne marche pas.

        Si ton template est un template payant tu peux essayer de demander au vendeur de te fournir le component.php qui te manque.

        Sinon une solution c'est de créer toi-même le fichier component.php pour ton template.

        Voilà les étapes que j'ai vérifiées avec JoomSpirit 99. J'ai aussi vérifié par rapport à ton site la structure des balises section et div ainsi que les classes utilisées.

        1) Copier index.php en component.php dans le dossier du template (templates/lagarenne)

        2) Editer le fichier copié templates/lagarenne/component.php

        Ajouter class="contentpane" à la balise body :
        Code HTML:
        <body class="contentpane" ... >
        Enlever tout ce qu'il y a entre <body> et </body> et le remplacer par le code suivant (j'ai laissé le <body> de début et le </body> de fin pour que tu vois où cela se situe) :
        Code HTML:
        <body class="contentpane" style="font-size:<?php echo $fontSize ; ?>;color : #<?php echo $this->params->get('color_text_general') ; ?>;font-family: '<?php echo str_replace($space_font_name," ",substr($font_content,0,sep_font($font_content)) ) ; ?>', sans-serif;"  class=" <?php if ( $this->params->get('uppercase') == 'yes') : ?>text-uppercase<?php endif ; ?>">
        
            <section class="website-content clearfix zindex10" >
                <div class="wrapper-website zindex10">
                    <div class="main_content">
                        <div class="main_component clearfix" role="main">
                            <jdoc:include type="message" />
                            <jdoc:include type="component"/>
                        </div>
                    </div>
                </div>
            </section>
        
        </body>
        Le résultat n'est pas aussi "complet" que si component.php avait été fourni par le développeur du template, notamment parce que je ne sais pas ce qui peut être "nettoyé" dans tout le code avant la balise <body>. Mais cela devrait te donner un premier jet de ce que tu souhaites.

        En cas de bug, pas de panique il suffit d'effacer ou renommer le nouveau fichier templates/lagarenne/component.php et de recommencer.

        Amicalement,
        Rajoz

        Commentaire


        • #5
          Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

          Bonjour Rajoz
          Félicitation pour la qualité de l'info.
          C'est effectivement Joomspirit99 (donation) et il n'a pas de component.php. Je vais contacter Lemarinier, mais je doute..

          Copier index.php en component.php dans le dossier du template (templates/lagarenne)
          Je copie index.php et le renomme en component.php ?
          je vais tester en localhost.
          Merci mille fois pour tout le travail que tu as pour résoudre ma question.
          Toutsi

          Commentaire


          • #6
            Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

            Bonjour
            Template Joomspirit99, réponse de Joomspirit : pas de component.php dans aucun template Joomspirit pour l'instant.
            Les instructions de Rajoz ont été appliquées avec succès, j'ai effectivement les CSS appliqués mais des tas de point d'intérogation "?" sont ajoutés aux classes... Comment les enlever svp ?
            De plus, que dois je laisser dans le head de component.php svp ?
            J'ai copié index.php et renommé en component.php en ajoutant dans la balise body les instructions de Rajoz que je remercie vivement.
            http://demeuredeprovence.com/calendrier-2015

            Bonne journée et mille mercis à la communauté Joomla pour l'aide apportée à nos problèmes.
            Toutsi

            Commentaire


            • #7
              Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

              Bonjour Toutsi,

              Très dommage que Joomspirit ne fasse pas de component.php. Cela signifie que leurs templates ne sont pas complets puisque ce fichier fait partie des fichiers définis pour un template, voir la documentation sur http://docs.joomla.org/Understanding_Joomla!_templates. J'espère qu'il ne manque rien d'autre dans leurs templates !

              Les points d'interrogation correspondent à des caractères non affichables. Leur nombre semble augmenter et diminuer avec le niveau d'indentation des balises ajoutées entre <body> et </body>. On dirait qu'il s'agit de caractères spéciaux remplaçant la tabulation.

              Quel éditeur as-tu utilisé pour faire les modifications ?

              Personnellement, j'utilise :
              • Notepad++ sous Windows
              • L'éditeur de fichier qui est dans Joomla : Extensions > Gestion des templates > Templates > [nom du template] > [nom du fichier]

              Les deux sont des éditeurs de code : le code reste "propre" (pas de caractères de mise en forme), l'indentation est automatique, les balises sont mises en couleur, les balises d'ouverture et de fermeture correspondantes sont visualisées, la sauvegarde est en UTF-8, les sauts de ligne sont de type Unix, etc.

              Les tabulations ne sont là que pour la lisibilité du code. Tu peux essayer avec un de ces éditeurs "propre" de les supprimer pour voir ce que cela donne.

              Si cela ne marche pas, tu peux attacher ici ton fichier component.php en le compressant dans un zip pour que je puisse regarder s'il y a un problème de type de caractère en particulier dans les tabulations.

              Amicalement,
              Rajoz

              Commentaire


              • #8
                Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

                Bonjour Rajoz
                Editeur : dreamweaver
                component.php.zip

                Merci de ton aide
                Toutsi

                Commentaire


                • #9
                  Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

                  Bonjour Toutsi,

                  Il y avait effectivement des caractères de mise en forme pour la tabulation des indentations, par ailleurs le fichier était sauvegardé avec des caractères en mode Ansi au lien de UTF-8.

                  Je n'utilise pas Dreamweaver donc je ne peux dire si s'est lui qui utilise ces caractères spéciaux. Je recommande d'utiliser les deux éditeurs Notepad++ ou celui de Joomla.

                  Correction des indentations : component.zip

                  Amicalement,
                  Rajoz

                  Commentaire


                  • #10
                    Re : Styles CSS avec iFrame et le bouton Imprimer de Joomla

                    Génial, super. L'affichage est maintenant correct.
                    Je termine ce que j'ai a faire ensuite je vais regarder comment tu as organisé ce fichier component.

                    Editeur : pas de Notepad (je suis sur Mac) mais j'ai Editra qui passe pour être une copie quasi conforme du Notepad.
                    Quand à Dreamweaver, il m'a déjà fait ce plan de caractères, sur un .htaccess en plus, ce qui m'a valut une sacré prise de tête, il m'était impossible de les voir, c'est RobertG qui les a trouvé.

                    Encore mille merci Rajoz.
                    Bonne journée
                    Toutsi

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X