Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 25.08.2004, 18:53
Benutzerbild von Norbert
Webseitenbäcker
 
Registriert seit: 09.2002
Beiträge: 165

printausgabe per php


Hallo Forum,

ich suche hier und überall nach einer guten Möglichkeit, wie ich mit PHP oder einem anderen Trick eine Printversion einer Webseite bauen kann. Hintergrund: es soll eine Seite mit Header und Navi erstellt werden, aber es wird nur ein Textbereich im Druck benötigt (ein Formular zum Ausfüllen und per Fax übertragen). Den ganzen Rest der Seite sollte dabei nicht mit ausgedruckt werden!

Wie kann ich das realisieren? bitte erklärt es mir so, das ich es als php Neuling verstehen kann...

Gruß

Norbert
  #2  
Alt 25.08.2004, 19:19
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Wenn die Seite in irgendeiner Weise auf Templates basiert könnte man eine Druckversion einfach damit erstellen das dabei der Textbereich in ein extra Template ohne Header und Navi gesetzt wird. So mach ich das beispielsweise in meinem Wiki - wird dort die Druckversion aufgerufen wird statt des normalen Templates ein anderes aufgerufen das nur einen sehr rudimentären Header und Footer und ein anderes Stylesheet enthält.
Vorteil: funktioniert in jedem Browser.

Eine andere Möglichkeit wäre ohne PHP sondern mit CSS ein Stylesheet fürs Drucken festlegen in dem Header und Navi (die dann in <div>-Bereich eingebaut werden müssen) per CSS-Angabe ausgeblendet werden. Das sollte dann auch in den gängigen Browsern funktionieren.
Nachteil: vielleicht funktionierts in irgendwelchen Browsern nicht (ich hab das noch nicht so ausgiebig getestet - Firefox kanns auf jedenfall)

Wie man die Druckversion bei dir am besten erledigt hängt natürlich ein bisschen davon ab wie die Website dann genau aussieht (mit oder ohne PHP-Backend beispielsweise).

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
  #3  
Alt 25.08.2004, 19:49
Benutzerbild von Norbert
Webseitenbäcker
 
Registriert seit: 09.2002
Beiträge: 165
also die Seite ist eine PHP Seite

und ich will nur den rechten Teil mit dem Text ausdrucken lassen. Der Kunde besteht aus rechtlich-formalen Gründen auf einem Fax.

Wie kann ich das am besten machen? ich habe im Template links schon einen "Seite audrucken" Button, den kann ich auch dafür verwenden. Am Sichersten noch die normale Windows Printfunktion benutzen.

Norbert

Edit: ich habe es mit diesem Script versucht, steige aber nicht ganz durch. Es gibt mir immer die Meldung aus das keine Datei ausgewählt sei. Komisch komisch..!


Geändert von Norbert (18.08.2005 um 20:11 Uhr).
  #4  
Alt 25.08.2004, 20:19
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Wenn das eine PHP-Seite ist nehme ich doch mal an das Navigation und Kopf der Seite extra abgelegt sind und nicht in jeder der PHP-Dateien ist. Da müsste es dann doch relativ einfach sein für die Anmeldung eine PHP-Datei zu schreiben die Kopf und Navigation nicht ausgibt sondern nur die Anmeldung?

Wenn du möchtest kannst du mir auch mal den PHP-Code der Seite zeigen, dann könnte ich dir genauer sagen wie ein Script für die Druckversion aussehen könnte.

Wenn du ein externes Script benutzen willst könnte man da auch eine Art "Quick & Dirty"-Hack im Stile deines angehängten Scripts machen:

PHP-Code:
<html>
<head><title>Anmeldung drucken</title>
</head>

<body>
<?PHP
ob_start
(); // Ausgabepuffer starten
include 'anmeldung.php'// Anmeldung aufrufen
$html ob_get_contents(); // Ausgaben nach $html abfangen
ob_end_clean(); // Ausgabepuffer löschen und beenden.

// Mit preg_match den Inhalt zwischen den beiden Inhaltsmarkierungen "matchen" und das Ergebnis in $match schreiben und ausgeben.
if(preg_match('/<!-- #BeginEditable "inhalt" -->(.+?)<!-- #EndEditable -->/s'$html$match)) {
        echo 
$match[1];
} else {
        echo 
"Fehler beim Generieren der Druckversion!";
}
?>
</body>
</html>
Das Ganze dann in eine Datei gespeichert und ins gleiche Verzeichnis von "anmeldung.php" gelegt. Keine Ahnung ob das so auch bei dir funktioniert - sauberer wäre natürlich eine Seite zu programmieren die die Anmeldung gleich ohne Navigation und Kopf ausgibt. Ansonsten würde dieser Hack, wenn sich die Markierungen von Anfang und Ende des Inhalts mal ändern, nicht mehr funktionieren.

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
  #5  
Alt 25.08.2004, 23:37
Benutzerbild von Norbert
Webseitenbäcker
 
Registriert seit: 09.2002
Beiträge: 165
ok das schaue ich mir morgen nochmal in Ruhe an, vielen Dank!

Norbert

  #6  
Alt 26.08.2004, 08:13
Benutzerbild von Norbert
Webseitenbäcker
 
Registriert seit: 09.2002
Beiträge: 165
Yoh das hat funktioniert! danke Dir...

Ich habe jetzt eine saubere Ausgabe nur der Anmeldung. Und für die Leute, die direkt die Druckfunktion des Browsers nutzen habe ich das hier in den Head gebaut:

<link rel="alternate" media="print" href="printershow.php">

Wobei die Datei printshow.php Dein Hack ist.

Gruß Norbert

Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gutes php Wiki Daniel Richter Blog, CMS, Wiki und Sonstige 21 13.12.2009 12:56
Suche PHP Foren pattex Forensoftware 44 05.07.2007 22:40
Zend's PHP 5 Programmierwettbewerb... Fabchan Programmierung und Datenbanken 9 14.07.2004 22:37
Das PHP Forum 4 all ShadowByte Projektvorstellung und Bewertung 4 22.06.2003 21:12






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25