^_^

Gesperrt
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

^_^

Beitrag von i-fekt » Sa 4. Jun 2005, 20:44

^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 12:27, insgesamt 2-mal geändert.

Karin Dähne
Beiträge: 140
Registriert: Fr 20. Feb 2004, 17:48
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von Karin Dähne » So 5. Jun 2005, 07:34

Hallo Craxx,

ich hab mir gerade eine ähnliche Lösung erarbeitet.

Da ich es aber leid war, alle Module, die nicht in der Druckversion angezeigt werden sollten, dann in der Druck-Css-Datei auf "diplay:none" oder " visibility: hidden" zu setzen, bin ich einen Schritt weiter gegangen:

Eben, wir arbeiten mit php ;-)

Also lag es doch nahe, alle Module, die eh nicht gedruckt werden sollen, in der Druckansicht erst gar nicht parsen zu lassen.
Oder nur bestimmte Teile parsen zu lassen.

Ich arbeite mit 2 Druckansichten:
Eine ohne Bilder und eine mit der Ausgabe von Bildern.

Deshalb hab ich bei allen betreffenden Modulen folgende Abfrage davor gesetzt:

Code: Alles auswählen

//Ueberpruefen, ob Druckansicht eingeschaltet:
/*
s => Standartansicht,
b => Braillesegeraete,
p1 => Druckanzeige ohne Grafiken,
p2 => Druckanzeige mit Grafiken
*/
  if($_REQUEST['style'] == p1 || $_REQUEST['style'] == p2)
   {
    echo '';
   } else {
    Der Modulcode ...
   }
Im Layout habe ich vor dem Doctype habe ich ein

Code: Alles auswählen

<? session_start(); ?>
geschrieben.

In den Header kommt noch ein Container für folgendes Modul, kann man aber sicher auch direkt ins Layout schreiben.

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
*  Modulname :  110_Styleswitcher_Css-DateiHeader
*  Author    :  Karin Daehne
*  Copyright :  Karin Daehne
*  Created   :  01-06-2005
*  Version   :  V01-01
*  Modified  :  
*  Features  :  Einstellung der CSS-Datei(en) im Headbereich des Layoutes.
*               Hier muessen im Array die CSS-Dateien zugewiesen werden zu den Modulen
*               111_Styleswitcher_Braille-Einstellung
*               112_Styleswitcher_Print
*               113_Styleswitcher_FrontEnd
*
************************************************/

session_register("style");
$cssStil = array(
s =>'css/style-standart.css',
b =>'css/style_braille.css',
p1 =>'css/style_print_pic.css',
p2 =>'css/style_print.css'
);

if (!empty($_REQUEST['style'])) $_SESSION['style'] = $_REQUEST['style']; 
if (empty($_SESSION['style'])) $_SESSION['style'] = s;
  $stil = $cssStil["{$_SESSION['style']}"];
  echo "<link rel=\"stylesheet\" href=\"$stil\" type=\"text/css\" />\n";
?>
Wo der Drucken-Button erscheinen soll, kommt dann folgender Code hin:

Code: Alles auswählen

//----- Druckansicht:
if ($_GET['style']==p1)
  {
   echo '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&lang='.$lang.'&style=p2" title="Zur Druckansicht mit Grafiken">Ausdruck mit Grafiken</a>
<span> | </span>
<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&lang='.$lang.'&style=s" title="Zur Normalansicht">Normalansicht</a>';
  } elseif ($_GET['style']==p2) {
   echo '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&lang='.$lang.'&style=p1" title="Zur Druckansicht ohne Grafiken">Ausdruck ohne Grafiken</a>
<span> | </span>
<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&lang='.$lang.'&style=s" title="Zur Normalansicht">Normalansicht</a>';
  } else {
   echo '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&lang='.$lang.'&style=p1" title="Zur Druckansicht"><img src="images/print.gif" width="25" height="11" alt="Druckansicht" border="0" /></a>';
  }
Grüße,
Karin Dähne.

apicalart
Beiträge: 161
Registriert: Fr 18. Mär 2005, 13:09
Wohnort: Linnich ( NRW )
Kontaktdaten:

Druckversion ohne Modul die zweite

Beitrag von apicalart » Sa 10. Sep 2005, 10:24

Sieht schon ganz prima aus, ist aber, so man sich denn an die Beschreibung hält, für PHP-Newbies etwas verwirrend.

Also hier die Anleitung von i-fekt mal etwas genauer.

1. Den folgenden Code vor den Doctype setzen. Das kann man schön im Layout machen.

Code: Alles auswählen

<?php 
 $loc = $_GET[drucken]; 
 if ($loc == "") { 
 $css = "css/format.css";      // Standard CSS.Datei im Standardordner
 } else { 
 $css = "css/print.css";
 } 
?> 
2. Die print.css erstellen
Die classes bzw. id`s, die nicht angezeigt werden sollen kommen einfach in eine Anweisung
z.B.:

Code: Alles auswählen

.navigation, #zusatzbild, hr
     {
     display:none;
     }
Hinweis: Selfhtml bietet da sicherlich wertvolle Tipps zur Erstellung





3. In die Metatags, also irgendwo zwischen <head>...</head>bitte einfügen

Code: Alles auswählen

<link rel="stylesheet" type="text/css" media="screen" t href=" <?php echo "$css"; ?> " />
4. So und jetzt kommt die Korrektur des kleinen Fehlers/Mißverständnisses, der Newbies wahrscheinlich zum Tischkantenbeißen führen wird:
An die gewünschte Stelle einfach folgenden Link einsetzen. In der obigen Lösung von i-fekt landet man nämlich eine Fehlerseite.

Code: Alles auswählen

<a href="front_content.php?idcat=<?php echo "$idcat"; ?>&drucken=true">Druckversion</a>
Dat gijjt et doch nit wirklich, odder !

Grüsse aus dem Rheinland
http://www.eukoba.de

pulk
Beiträge: 217
Registriert: Sa 2. Nov 2002, 09:57
Kontaktdaten:

Re: Druckversion ohne Modul die zweite

Beitrag von pulk » Do 19. Okt 2006, 10:07

apicalart hat geschrieben:

Code: Alles auswählen

<a href="front_content.php?idcat=<?php echo "$idcat"; ?>&drucken=true">Druckversion</a>
sollte doch eher idart sein, oder?

Gesperrt