Druckvorschau über @media print CSS-Datei

Begonnen von gerdc, 19 August 2008, 11:23:14

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

gerdc

Hallo, liebe pragmaMx-Gemeinde,

wer wie ich sein Content auch als Print-Content anbietet und (oder) wer wie jetzt auch das pragmaMx-Team das YAML-Framework (übrigens, ich nicht, weil zu kompliziert) für Themes benutzt, der kann  über die  @media print CSS-Datei  sein Content  über eine Browservorschau als Druckvorlage dem User anbieten.
Wie das geht?
Zu dieser Frage habe ich einen Artikel bei http://www.perun.net/2007/12/16/druckvorschau-css-und-die-nutzer gefunden, den ich für meine Website umgesetzt habe.

Die dort erwähnten if-else-Links für die browserübergreifende Druckvorschau habe ich als reinen PHP-Script:

if (isset($_GET['d']) && $_GET['d'] == 'druckvorschau')
{ echo '<link rel="stylesheet" type="text.css" media="screen" href="' . MX_THEME_DIR . '/style/print.css" />';
} else
{ echo '<link rel="stylesheet" type="text.css" media="screen" href="' . MX_THEME_DIR . '/style/style.css" />';
}
echo '<link rel="stylesheet" type="text.css" media="print" <href="' . MX_THEME_DIR . '/style/print.css" />';


in die /includes/my_header.php portiert.

Anschließend braucht man NUR  (wirklich nur!) an entsprechender Stelle den angegebenen Link:

<a href@="?d=druckvorschau">Druckvorschau</a> [ohne @] einzufügen.

Nun so einfach ist das nicht wirklich, denn man muss schon eine angepasste @media print Datei erstellen und noch folgendes beachten:
Die @media print CSS-Datei darf NICHT in die style.css importiert werden und darf NICHT als  @media print Datei gekennzeichnet sein. Die bei YAML übliche Ausschliessung der alten Browser mit @media all kann jedoch beibehalten bleiben.

Wurschtelt Euch selbst durch (habe keine Zeit, bin Rentner), bei mir funktionierts jedenfalls:
http://www.warblow.de/Sections.html?d=druckvorschau"

Gruß, gerdc.
GCW

gerdc

Hallo,
in der letzten Zeile des Codes hat sich ein Tippfehler eingeschlichen......

dort steht:
echo '<link rel="stylesheet" type="text.css" media="print" <href="' . MX_THEME_DIR . '/style/print.css" />';,

soll sein:
echo '<link rel="stylesheet" type="text.css" media="print" href="' . MX_THEME_DIR . '/style/print.css" />';


Danke, ok

gerdc
GCW