Mittwoch, 8. November 2006 Druck-Ansicht
Momentan arbeite ich an einem Projekt, bei dem es auf jeder Seite einen Knopf für eine “Druck-Ansicht” geben soll. Kurzerhand das PlugIn WP-Print von lesterchan installiert - was auch soweit prima funktioniert hat. Man kommt allerdings ein bisschen in Schwierigkeiten, wenn man unterschiedliche Page-Templates und Category-Templates gebastelt hat, die “automatisch” Inhalte zur Seite beisteuern.
Das heißt: In der Druck-Ansicht sieht man nur den Inhalt des Postings oder der Page. Aber nicht das, was zusätzlich programmiert worden ist.
Denn das “PlugIn” ist im Grunde genommen kein echtes PlugIn - Für Wordpress 1.52 arbeitet es folgendermaßen:
Also hätte ich in meinem Fall vier verschiedene wp-print-Dateien basteln müssen, um auch eine vollständige Druck-Ansicht meiner Page-Templates zu haben. Wäre ja ärgerlich, wenn sich jemand eine Linkliste oder eine Inhalts-Übersicht ausdrucken möchte - aber in der Druck-Datei fehlt sie plötzlich, weil sie nicht zum “Posting” gehört, sondern automatisch generiert wird. Das macht die ganze Geschichte allerdings ein bisschen unübersichtlich …
Um ein (anderes) Problem zu lösen, hab ich mir im Test-Template
<?php print_r($_GET); ?>
anzeigen lassen. Und so kommt man ganz zufällig auf nette Ideen:
Zur Demonstration hab ich das bei mir mal eingebaut - sonderlich hübsch ist die Druckansicht zwar (momentan) noch nicht - aber Kunde kommt zuerst.
Die nötigen Codeschnippsel:
<?php if (isset($_GET['p'])||isset($_GET['page_id'])) { ?>
<!--
Hier das rein, was bei der "Druck-Ansicht"
angezeigt werden soll
-->
<?php } ?>
… oder das Gegenteil:
<?php if (!isset($_GET['p'])&&!isset($_GET['page_id'])) { ?>
<!--
Hier das rein, was bei der "normalen Ansicht"
angezeigt werden soll. Zum Beispiel der Link
zur "Drucken"-Seite
-->
<?php } ?>
Und der Aufruf der Druck-Ansicht über die “ungeschönte” Link-Konstruktion. Unterschieden wird dabei zwischen Posts und Pages:
<?php if(is_page()) { ?>
<p><a href="<?php bloginfo('url') ?>/index.php?page_id=<?=the_ID()?>">Seite Drucken</a></p>
<?php } else { ?>
<p><a href="<?php bloginfo('url') ?>/index.php?p=<?=the_ID()?>">Seite Drucken</a></p>
<?php } ?>
Dieser Tipp funktioniert nicht, wenn man das PlugIn Permalink-Redirect aktiviert hat.
Update: Hier gibt’s eine verbesserte Variante in Sachen “Druck-Ansicht”, mit der man Permalink-Redirect weiterhin benutzen kann.
Bookmarks, Feed und Links
Wenn Ihnen dieser Beitrag geholfen hat ...
Beiträge zu ähnlichen Themen:
Kommentar schreiben