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 (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" (http://www.warblow.de/Sections.html?d=druckvorschau")
Gruß, 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