Druckfunktion

Stefan_Br
Beiträge: 36
Registriert: Di 29. Nov 2005, 18:06
Kontaktdaten:

Druck mit Vorschau und css

Beitrag von Stefan_Br »

Bei mir gehts mit css und sowas oben im Layout (vielleicht nicht ganz übersichtlich, aber dafür mit verschiedenen möglichen Druckansichten):

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<?php 

if($_GET['standardansicht'] == '0'){

   if($_GET['ansicht'] == 'druckartikel'){
      ?>
      <link rel="stylesheet" href="css/druck.css">
      <link rel="stylesheet" href="css/druckansichtartikel.css">
      <link rel="stylesheet" media="print, embossed" href="css/ausdruck.css">
      <?php
   }

   if($_GET['ansicht'] == 'druckartikelmitkommentaren'){
      ?>
      <link rel="stylesheet" href="css/druck.css">
      <link rel="stylesheet" href="css/druckansichtartikelmitkommentaren.css">
      <link rel="stylesheet" media="print, embossed" href="css/ausdruck.css">
      <?php
   }

   if($_GET['ansicht'] == 'drucksuchergebnis'){
      ?>
      <link rel="stylesheet" href="css/druck.css">
      <link rel="stylesheet" href="css/druckansichtsuchergebnis.css">
      <link rel="stylesheet" media="print, embossed" href="css/ausdruck.css">
      <?php
   }

   if($_GET['ausrichtung'] == 'querformat'){
      ?>
      <link rel="stylesheet" href="css/querformat.css">
      <?php
   }else{
      ?>
      <link rel="stylesheet" href="css/hochformat.css">
      <?php
   }
  
} else {
    ?>
    <link rel="stylesheet" href="css/website.css">
    <?php
}

if($_GET['nurinhalt'] == '1'){
    ?>
    <link rel="stylesheet" href="css/nurinhalt.css">
    <?php
}

 ?>




<title>Ratsgymnasium Bielefeld - Ehemalige</title>

</head>

<body>

<?php
if($_GET['standardansicht'] == '0'){
  ?><table class="seite" border="0" margin="0"
           cellspacing="0" cellpadding="0"
           style="table-layout:fixed;"><tr>
      <td class="seite" style="overflow:hidden;"><?php
}else{
  ?><table width="100%" border="0" margin="0"
           cellspacing="0" cellpadding="0"><tr><td><?php
}
  

if($_GET['standardansicht'] == '0'){
/* doppelt gemoppelt, damit css-ignorante Browser nichts Vermurkstes anzeigen */ ?>
<div class="druck_kopf" name="volle_breite">
  <div class="druck_knopf">
    <?php if($_GET['ausrichtung'] == 'querformat'){ ?>
       <a class="sonderlink" href="
           <?php
           $url="front_content.php?client=$client&lang=$lang&idart=$idart&idcat=$idcat";
           foreach($_GET as $key => $value){
              if(($key != 'ausrichtung') and ($key != 'client')
                    and ($key != 'lang') and ($key != 'idcat') and ($key != 'idart')){
                $url= $url.'&'.$key.'='.$value;
              }
           }
           foreach($_POST as $key => $value){
              if(($key != 'ausrichtung') and ($key != 'client')
                    and ($key != 'lang') and ($key != 'idcat') and ($key != 'idart')){
                $url= $url.'&'.$key.'='.$value;
              }
           }
           echo $sess->url(htmlentities($url."&ausrichtung=hochformat")); ?>"
              title="Hochformat"><img src="images/portrait.gif" border=0" alt="Hochformat" /></a>
    <?php }else{ ?>
       <a class="sonderlink" href="
           <?php
           $url="front_content.php?client=$client&lang=$lang&idart=$idart&idcat=$idcat";
           foreach($_GET as $key => $value){
              if(($key != 'ausrichtung') and ($key != 'client')
                    and ($key != 'lang') and ($key != 'idcat') and ($key != 'idart')){
                $url= $url.'&'.$key.'='.$value;
              }
           }
           foreach($_POST as $key => $value){
              if(($key != 'ausrichtung') and ($key != 'client')
                    and ($key != 'lang') and ($key != 'idcat') and ($key != 'idart')){
                $url= $url.'&'.$key.'='.$value;
              }
           }
           echo $sess->url(htmlentities($url."&ausrichtung=querformat")); ?>"
           title="Querformat"><img src="images/landscape.gif" border=0" alt="Querformat" /></a>
    <?php } ?>


<script type="text/javascript">
<!--

document.write('<a class="sonderlink" href="javascript:self.print()">');
document.write('<img src="images\/print.gif" title="drucken" border="0" alt="drucken">');
document.write('<\/a>&nbsp;&nbsp;');
document.write('<a class="sonderlink" href="javascript:self.close()">');
document.write('<img src="images\/close.gif" title="schlie&szlig;en" border="0" alt="schlie&szlig;en">');
document.write('<\/a>');
//darf keine Zeilenumbrueche haben!


//-->
</script>
    <div>
    <?php if($_GET['ausrichtung'] == 'querformat'){
           echo 'Bitte Browser und Druckertreiber auf A4 Querformat stellen';
         }else{echo 'Bitte Browser und Druckertreiber auf A4 Hochformat stellen';} ?><br /><br />
    </div>
  </div>
  <div>
       <a class="sonderlink" href="ehemalige.ratsgymnasium-bielefeld.de" target="_blank">
           ehemalige.ratsgymnasium-bielefeld.de</a>
       <br />
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
         - Die Webseite der Vereinigung der Ehemaligen des Ratsgymnasiums Bielefeld
  </div>
</div>
<?php } ?>

Für den Druckknopf habe ich dann so ein Modul (Output):

Code: Alles auswählen

<div class="buttonleiste" name="standardbreite">
<table> 
<tr>
<td valign="top" style="padding-right:4px">
<script type="text/javascript">
<!--

document.write('<a href="javascript:void(window.open(\'<?php echo $sess->url("front_content.php?client=$client&lang=$lang&idart=$idart&standardansicht=0&ansicht=druckartikel"); ?>\',\'\',\'resizable=yes,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,fullscreen=no,dependent=no,width=750,height=430,left=50,top=60\'))"><span class="button">Druckansicht des Artikels<\/span><\/a>');

//-->
</script>
<noscript>
<a href="<?php
echo htmlentities($sess->url("front_content.php?client=$client&lang=$lang&idart=$idart&standardansicht=0&ansicht=druckartikel")); ?>" target="_blank"><span class="button">Druckansicht des Artikels</span></a>
</noscript>

</td>


<td valign="top" style="padding-left:4px; border-left-width:1px; border-left-style:solid; border-left-color:black;">

<script type="text/javascript">
<!--

document.write('<a href="javascript:void(window.open(\'<?php echo $sess->url("front_content.php?client=$client&lang=$lang&idart=$idart&standardansicht=0&ansicht=druckartikelmitkommentaren"); ?>\',\'\',\'resizable=yes,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,fullscreen=no,dependent=no,width=750,height=430,left=50,top=60\'))"><span class="button">Druckansicht des Artiekls mit Kommentaren<\/span><\/a>');

//-->
</script>
<noscript>
<a href="<?php echo htmlentities($sess->url("front_content.php?client=$client&lang=$lang&idart=$idart&standardansicht=0&ansicht=druckartikelmitkommentaren")); ?>" target="_blank"><span class="button">Druckansicht des Artiekls mit Kommentaren</span></a>
</noscript>

</td>
</tr>
</table></div>
Wie man auch schon sieht, habe ich alles mit Klassennamen versehen, und die dann in den css-Dateien entsprechend referenziert:


ausdruck.css:

Code: Alles auswählen

.druck_knopf   {display:none;}
druck.css:

Code: Alles auswählen

body             {font-family:'Times New Roman',Times,serif; font-size:10pt; color: #000000; line-height:1.2em;}
.text		 {font-family:helvetica, arial, geneva, sans-serif; font-size:10pt; color:#000000 }
.navigation {font-family:helvetica, arial, geneva, sans-serif; font-size:12pt; color:#FFFFFF;}

p {font-size:10pt; line-height:1.2em; margin-top:0.4em; margin-bottom:0px;}
div {font-size:10pt; line-height:1.2em;}
td {font-size:10pt; line-height:1.2em;}


h1 {font-size:18px; margin-bottom:0.8em; line-height:1.3em; text-align:center;}
h2 {font-size:14px; font-weight:bold;  margin-top:1em; margin-bottom:0.4em; line-height:1.3em;}

.small {font-size:9px;}
.medium {font-size:12px;}
.big {font-size:16px; font-weight:bold;}
.xbig {font-size:24px;}




A:link           {font-family:helvetica, arial, geneva, sans-serif; text-decoration:none; color:#000000}
A:visited        {font-family:helvetica, arial, geneva, sans-serif; text-decoration:none; color:#000000}
A:hover          {font-family:helvetica, arial, geneva, sans-serif; text-decoration:none; color:#AE6B00}
A:active         {font-family:helvetica, arial, geneva, sans-serif; text-decoration:none; color:#AE6B00}


.orientierungstext       {font-size:14pt;}

a[href]:after {
 content:" <"attr(href)">";
 color:#888;
 background-color:inherit;
 font-style:italic;
 size:80%;
}
A.sonderlink:after  {content:"";}[/quote]

druckansichtartikel.css:
[quote].externe_links           {display:none;}
.standardkopf            {display:none;}
.tabellenlayout          {display:none;}
.navigationsspalte      {display:none;}
.suche                       {display:none;}
.kommentar_lesen           {display:none;}
.kommentar_schreiben     {display:none;}
.banner                     {display:none;}
.footer                       {display:none;}
.buttonleiste              {display:none;}
.knopf                       {display:none;}
.eingabeerklaerung    {display:none;}
.trennlinie                  {display:none;}
.mindesthoehe           {display:none;}
druckansichtartikelmitkommentaren.css:

Code: Alles auswählen

.externe_links           {display:none;}
.standardkopf            {display:none;}
.tabellenlayout          {display:none;}
.navigationsspalte      {display:none;}
.suche                       {display:none;}
.buttonleiste               {display:none;}
.kommentar_schreiben  {display:none;}
.banner                     {display:none;}
.footer                       {display:none;}
.knopf                       {display:none;}
.eingabeerklaerung    {display:none;}
.mindesthoehe           {display:none;}
druckansichtsuchergebnis.css:

Code: Alles auswählen

.externe_links           {display:none;}
.standardkopf            {display:none;}
.tabellenlayout          {display:none;}
.navigationsspalte      {display:none;}
.orientierung             {display:none;}
.bild                          {display:none;}
.ueberschrift              {display:none;}
.unterueberschrift      {display:none;}
.autor                       {display:none;}
.teaser                      {display:none;}
.text_inhalt                {display:none;}
.kommentar               {display:none;}
.banner                     {display:none;}
.footer                       {display:none;}
.buttonleiste              {display:none;}
.knopf                       {display:none;}
.eingabeerklaerung    {display:none;}
.trennlinie                  {display:none;}
.mindesthoehe           {display:none;}

hochformat.css:

Code: Alles auswählen

@page    {21.0cm 29.7cm; margin-top:2cm; margin-bottom:2cm;}
.seite      {width:17.0cm;}
nurinhalt.css:

Code: Alles auswählen

.druck_knopf        {display:none;}
.druck_kopf          {display:none;}
.externe_links       {display:none;}
.standardkopf        {display:none;}
.navigationsspalte  {display:none;}
.banner                 {display:none;}
.footer                  {display:none;}
.orientierung         {display:none;}
.suche                  {display:none;}
querformat.css:

Code: Alles auswählen

@page    {29.7cm 21.0cm; margin-top:2cm; margin-bottom:2cm;}
.seite      {width:25.7cm;}
website.css:

Code: Alles auswählen

body {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; margin:0px; padding:0px; border:0px; line-height:1.3em; background-color:white;} /*Arial, Helvetica, sans-serif / Verdana, Arial, Helvetica, sans-serif / "Times New Roman", Times, serif*/
p {font-size:11px; line-height:1.3em; margin-top:0.4em; margin-bottom:0px;}
div {font-size:11px; line-height:1.3em;}
td {font-size:11px; line-height:1.3em;}

a:link {color:#0033CC;	text-decoration:none;}
a:hover {color:#C09100;}
a:visited {color:#0033CC;           text-decoration:none;}

h1 {font-size:18px; margin-bottom:0.8em; line-height:1.3em; text-align:center;}
h2 {font-size:11px; font-weight:bold;  margin-top:1em; margin-bottom:0.4em; line-height:1.3em;}

.small {font-size:9px;}
.medium {font-size:11px;}
.big {font-size:16px; font-weight:bold;}
.xbig {font-size:20px;}

.expanded {font-size:11px;	line-height:22px;	letter-spacing:2px;}
.justified {text-align:justify;}


.footer {font-family:"Times New Roman", Times, serif;	font-size:10px;}
.seitentitel {align:center; font-family: "Times New Roman", Times, serif;	font-size:36px;	font-weight:bold;	font-variant:small-caps;	text-align:center;}


.menue_1 {font-size:11px; font-weight:bold; color:#0033CC;}
.menue_1:hover {color:#C09100;}
.menue_2 {font-size:11px; color:#0033CC;}
.menue_2:hover {color:#C09100;}

.menue_1_plain {font-size:11px; font-weight:bold; color:#0033CC;}
.menue_2_plain {font-size:11px; color:#0033CC;}

.menuetitel {font-size:14px; font-weight: bold;}


.markiert    {background-color:#FFF882;}

.orientierungstext {font-size:12px;}
.buttonleiste      {color:#646464; font-size:10px;}
.button            {color:#505885; font-size:10px;}





.druck_knopf{display:none}
.druck_kopf{display:none}

Wie man siehr, habe ich damit auch gleich noch ein paar andere Funktionen realisiert, die es zum Beispiel erlauben, mehrere Artikel im Rahmen einer Gegenüberstellung in einen anderen Artikel zu integrieren.
Gesperrt