Imprimer un article

Bonsoir,

Toujours dans la série des "zéro en php" .......... une bonne âme saurait elle m'indiquer comment inclure une fonction d'édition d'un article, à placer bien sûr au pied de l'article?

j'imagine qu'il existe une possibilité dans article.php

j'ai tenté avec un javascrit du type <a href="#" OnClick="javascript:window.print()">Imprimer</a>
mais le résultat n'est pas au rdv.

j'ai cherché dans la recherche "impression, imprimer, print,....... mais la requete ne m'a guére donnée de piste.

Merci bien

Réponses

  • Bonjour,

    quand vous dites le résultat n'est pas au rdv, c'est que ça ne s'imprime pas ou que ça imprime n'importe comment ?

    En général, pour imprimer une page web, il faut créer une feuille de style spéciale pour l'impression.
    L'autre manière, un peu plus corsée est de transformer la page en PDF ...

    Cordialement,
  • bonjour daniel,

    je veux simplement dire qu'il y a l'affichage de toute la page

    le titre, le menu des pages statique, l'article, et les commentaires. ce que je cherche est tout simplement de permettre au visiteur du site web de pouvoir éditer l'article et lui seul.

    donc s'il s'agit de créer une feuille de style pour l'impression je suis preneur d'information ainsi que de savoir comment permettre de déclencher l'impression pour un visiteur d'article.

    merci bien

    christian
  • danielsandanielsan Member
    décembre 2011 modifié
    C'est donc une affaire de feuille de style CSS.

    Vous pouvez simplement commencer par annuler les blocs que vous ne souhaitez pas imprimer.

    Pour cela créez une feuille de style css print.css avec dedans:
    #mon-bloc-a-ne-pas-imprimer, .mon-bloc-a-ne-pas-imprimer {display: none;}
    
    Ensuite dans votre header.php ajouter l'appel de cette feuille de la sorte:
    <link rel="stylesheet" type="text/css" href="chemin/print.css" media="print" />
    

    Et voilà ...
  • Merci beaucoup,

    Je suis actuellement en cours de test pour insérer des impressions dans des frames avec geoportail de l'ign
    je regle ce point et je teste votre proposition au plus vite.

    A bientôt

    Christian
  • Me revoilà :)

    J'ai créé une feuille de style print.css

    <style type="text/css">

    #mon-bloc-a-ne-pas-imprimer,
    .header-menu-wrapper {display: none;}

    </style>

    dans l'optique de ne plus voir apparaitre le menu et ajouter la ligne que vous me suggéré dans header.php

    soit :

    <link rel="stylesheet" type="text/css" href="print.css" media="print"/>

    print.css etant dans le même répertoire que header.php

    des lors que je lance la commande via un javascript integré à l'article du type

    <a href="#" OnClick="javascript:window.print()">Imprimer</a>

    il n'y a aucun changement le menu apparait toujours en pre-affichage de l'impression.

    Je pense que votre proposition devrait fonctionner s'il m'était possible d'intégrer une commande
    dans l'article faisant appel au print.css ce qui n'est pas le cas du javscript basique que j'utilise fréquemment en html.

    si vous avez une piste en prolongement je vous en remercie et vous souhaite de bonnes fêtes de noël

    christian
  • okayyyyy :cool:
    elle est mortelle cette réponse ! :) :) :)
    on va faire dans l'ordre: :D

    0/ vous listez les blocs à ne pas imprimer ( dans vos templates, ce sont les blocs avec <div id="nom-du-bloc">,
    ex de nom de bloc: aside, header, footer, menu, ...
    1/ vous créez un fichier print.css
    2/ dans ce fichier vous écrivez:
    #aside, #header, etc... {display: none;}
    3/ dans header.php vous insérez la ligne sus-mentionnée.

    Voilou.
  • :D elle est belle celle là^^ si vous me fournissez une url je vous envoie le code css à fournir (c'est Noël, je suis en vacances et de bonne humeur)
  • :/

    a priori j'ai dis une c.......e pô grave je vais finir par cerner le sujet .......

    ici une url de maquette de projet : http://essai.pofableau.com/index.php?article5/pris-la-main-dans-le-sac

    imaginons que je veuille permettre au visiteur de l'article "Pris la main dans le sac" d'éditer cet article.

    merci pour votre patience à tous.
  • vous n'avez pas dit de c*$¤ê, vous vous êtes juste un peu emmêlé les pinceaux, sans gravité je vous rassure.

    Pour vous expliquer le principe simplement:
    vous avez le contenu qui est séparé de la mise en forme.
    Le contenu est créé par PluXml, la mise en forme est donnée par la feuille de style (le fichier .css ).
    Il existe plusieurs types de feuilles de style, celle pour afficher à l'écran et celle utilisée pour l'impression.

    Le principe de la feuille d'impression consiste à cacher ( annuler ) certains blocs ( display: none;).

    Pour votre cas, un exemple de début de feuille de style d'impression, pour cette url:
    html{background: none;}
    #skip, #nav, #aside, #footer {display: none;}
    #article{clear: both}
    
    avec ça vous devriez avoir quelque chose d'un peu plus "potable".

    Cordialement,
  • bonsoir daniel,

    par substitution en copiant le fichier de style d'origine du template j'ai réussi à avoir quelque chose de plus présentable.

    l'instruction #xxxxx {display: none;} m'a été fort utile pour comprendre ce qu'il convenait de faire.

    seuls subsistent encore quelques récalcitrants tels les commentaires.

    merci beaucoup maintenant c'est l'heure d'ouvrir les huitre :)
Connectez-vous ou Inscrivez-vous pour répondre.