Welcome, Guest. Please login or register.
Did you miss your activation email?
May 27, 2012, 03:40:11 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155555 Posts in 21715 Topics by 7737 Members
Latest Member: gx-world
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: *gelöst*Druckfunktion in Startseite von websitebaker.org  (Read 4180 times)
esge

Offline Offline

Posts: 46


WWW
« on: June 08, 2008, 11:19:30 AM »

Hallo,

ich finde die Druckfunktion (|Print|) auf der Startseite von websitbaker.org sehr schön gelöst, weil man hier eine Vorschau des Druckinhalts bekommt.

Kann mir jemand sagen, wie man eine solche Druckvorschau umsetzen kann? Gefunden habe ich bisher nur eine Lösung, mit der man direkt drucken kann, also ohne Druckvorschau.

Grüße
Stefan
« Last Edit: June 09, 2008, 09:28:06 PM by esge » Logged
doc
Guest
« Reply #1 on: June 08, 2008, 06:17:16 PM »

Hallo,

die Druckvorschau wurde über die index.php des Templates gelöst. Bei der Druckvorschau wird statt einer screen.css die print.css geladen und die Seite einfach in einem neuen Browserfenster dargestellt. Also pures CSS.

Gruss Christian
Logged
esge

Offline Offline

Posts: 46


WWW
« Reply #2 on: June 09, 2008, 11:21:07 AM »

Hallo,

Danke für die schnelle Antwort. Nur leider stehe ich auf dem Schlauch. Kannst Du mir den Code verraten, mit dem ich die Druckfunktion in die index.php einbinden kann.

Grüße

Stefan
Logged
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6977


WWW
« Reply #3 on: June 09, 2008, 06:58:50 PM »

Code:
<a href="/en/introduction.php?css=print" target="_blank">| Print |</a>

das ist der generierte Code ... ab ins Template damit. Dann nicht vergessen auch eine CSS Datei dazu anzupassen!

Gruss

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

esge

Offline Offline

Posts: 46


WWW
« Reply #4 on: June 09, 2008, 07:34:11 PM »

Hallo,

ich habe mal etwas im WWW gesurft und bin auf eine interessante Lösung gestoßen. Diese habe ich für WebsiteBaker angepasst und es funktioniert nach ersten Tests auch.

Zwischen die beiden <head></head> kommt folgender Code:

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

und

Code:
<?php
if (function_exists('ini_set')) {
    
ini_set'arg_separator.output' '&amp;' );
?>

Irgendwo im Template, zwischen den beiden Body-Tags, kommt dann:

Code:
<a href="?d=druckvorschau">Druckvorschau</a>

Ich habe das Ergebnis auch im Validator getestet und der Code war valide. Vielleicht kann sich jemand mal meine Lösung anschauen und auch mal testen.

Es wird nun automatisch eine Druckvorschau für jede Seite generiert, wenn man auf "Druckvorschau" klickt.

Grüße
Stefan
Logged
doc
Guest
« Reply #5 on: June 09, 2008, 08:11:39 PM »

Hallo,

Glückwunsch, so funktioniert auch die Druckvorschau auf der WB Startseite.

Gruss Christian
Logged
Bastian

Offline Offline

Posts: 161



WWW
« Reply #6 on: October 15, 2008, 09:17:13 PM »

kann das jemand etwas genauer erklären???

danke Bastian
Logged
esge

Offline Offline

Posts: 46


WWW
« Reply #7 on: October 19, 2008, 08:14:24 AM »

kann das jemand etwas genauer erklären???

danke Bastian

Hallo Bastian,

da ich nicht weiß, was Du genauer erklärt haben möchtest, fange ich einfach mal mit einer Erklärung an:

Ich wollte in meinen Templates eine Druckvorschau anbieten, die auf jeder Seite automatisch erscheint. Um dies zu erreichen, musst Du die ersten beiden Codes

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

und

Code:
<?php
if (function_exists('ini_set')) {
    
ini_set'arg_separator.output' '&amp;' );
?>

in die index.php deines Templates anstelle von

Code:
<link href="<?php echo TEMPLATE_DIR?>/screen.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo TEMPLATE_DIR?>/print.css" rel="stylesheet" type="text/css" media="print" />

einbauen!

Danach musst Du nur den Link

Code:
<a href="?d=druckvorschau">Druckvorschau</a>

an die Stelle einfügen, an der er in Deiner Homepage erscheinen soll.

Wenn jemand in Deiner Homepage auf "Druckvorschau" klickt, wird anstelle der "screen.css" die "print.css" geladen. Über die "print.css" kannst Du das Aussehen der Druckvorschau gestalten.

Ein Beispiel kannst Du Dir unter www.feuerwehr-dorf-erbach.de ansehen. Hier habe ich nur anstelle den "Druckvorschau" ein kleines Bild mit "drucken" genommen. Gerne kannst Du Dir auch ein Template von meiner Website www.cms-design24.de downloaden und Dir die Funktion kopieren.

Grundsätzlich ist so eine "Druckvorschau" nicht mehr nötig, da die Browser selbst eine Druckvorschau anbieten. Du kannst damit jedoch Deine Druckvorschau individuell gestalten.

Grüße

Stefan

Logged
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #8 on: April 28, 2009, 08:58:43 AM »

Man sollte noch den Meta-Tag für die robots noindex,nofollow machen, sonst bekommt man Duplicate Content (2 URLs, gleicher Inhalt).
Logged

*weg*
laola

Offline Offline

Posts: 71


« Reply #9 on: November 16, 2009, 08:53:29 PM »

Hallo esge,

Dank Deiner Anleitung funktioniert die Druckvorschau super.
Habe aber trotzdem noch eine Frage.

Kann ich jetzt in der Vorschau (*..php?d=druckvorschau) , z. B. mittels javascript erzeugen, dass dann der Standarddrucker vorgeschlagen wird, also der Druck mehr oder weniger eingeleitet wird.
So bräuchte der Besucher nur noch auf Drucken oder ok oder Abrechen klicken, je nachdem ob nun gedruckt werden soll oder nicht.

Danke für einen Tipp

laola
Logged
esge

Offline Offline

Posts: 46


WWW
« Reply #10 on: November 24, 2009, 04:18:43 PM »

Hallo laola,

meinst du es so?

Code:
<?php if (isset($_GET['d']) && $_GET['d'] == 'druckvorschau') { ?>
<link href="<?php echo TEMPLATE_DIR?>/print.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript"><!--
window.onload = function() {
   window.print();
};
//--></script>
<?php } else { ?>
<link href="<?php echo TEMPLATE_DIR?>/screen.css" rel="stylesheet" type="text/css" media="screen" />
<?php ?>
<link href="<?php echo TEMPLATE_DIR?>/print.css" rel="stylesheet" type="text/css" media="print" />

Gruß

esge
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!