
Pourquoi ne pas utiliser une feuille de style destinée à l’impression pour mettre en forme ta page ? En utilisant media="print"Je voudrais que la page prête à l’impression soit visible à l’écran, épurée des menus, logos et autres fioritures.
essaie d’utiliser Ditto en appelant StartID=[*id*] et en définissant le chunk destiné à l’impressionJ’ai essayé mais le contenu du document même remanié par le chunk ... sera quand même intégré au template de base ...
$table_content = $modx->getFullTableName('site_content');
$sql_content = "SELECT content FROM $table_content WHERE id='".$_GET['id_page']."'";
$result_content = $modx->db->query($sql_content);
$enr=mysql_fetch_array($result_content);
return $enr['content'];
[!InsertContent!]
<a href="index.php?q=id_de_ton_doc_Page-print&id_page=[*id*]">Imprimer</a>
<?php
/*
* Name: InsertContent
* Version: 0.2
* Author: Laurentc
*
* Exemple of use :
* [!InsertContent? &tpl=`Template_PRINT` !]
*
* Parameters :
* &tpl : chunck with page placeholders
* exemple :
* [+pagetitle+]
* <br>
* [+content+]
* <br>
* [+longtitle+]
* <br>
* [+description+]
*/
if ($tpl) $tpl = ($chunk = $modx->getChunk($tpl)) ? $chunk:"Chunk '$tpl' introuvable.";
return doPage($tpl);
function doPage($tpl) {
global $modx;
$champs = array('id','pagetitle','longtitle','description','alias','menutitle','introtext','content');
$table_content = $modx->getFullTableName('site_content');
$sql_content = "SELECT id,pagetitle,longtitle,description,alias,menutitle,introtext,content FROM $table_content WHERE id='".$_GET['id_page']."'";
$result_content = $modx->db->query($sql_content);
$enr=mysql_fetch_array($result_content);
foreach($champs as $nomChamp) {
$tpl = str_replace("[+$nomChamp+]", $enr[$nomChamp], $tpl);
}
return $tpl;
}
?>
Je voudrais que la page prête à l’impression soit visible à l’écran, épurée des menus, logos et autres fioritures.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TItre de la page.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<div id="LOGO">
<h1>MON LOGO</h1>
</div>
<div id="CONTENU">
<p>Ceci est mon contenu, il apparait à l'impression, contrairement au LOGO qui n'apparait pas. Le texte du contenu est vert lorsqu'on imprime, mais rouge à l'écran</p>
</div>
</body>
/********** FEUILLE DE STYLE NORMALE ****/
#CONTENU p{color:red;}
/******* MEDIA PRINT ***************/
@media print {
#LOGO {
display : none;
visibility : hidden;
}
#CONTENU p{
color:green;
}
}
... pourtant je suis assez flémard