as for number 2 can i change the template or show exactly how its going to be printed like it is on that website?
If you just include a print stylesheet, you won’t see a screen preview of how the printed page will look. This is the method I use to get a preview.
The link to the printable version links to itself but adds the parameter ?pf=print to the URL.
<a href="[~[*id*]~]?pf=print" title="Printable Flyer">Printable Flyer</a>
Then in the head section of my template, I place this snippet call where the stylesheet links will appear:
The contents of the snippet are:
<?php
$output = "";
if ($_GET['pf'] == "print") {
$output .= '<link rel="stylesheet" type="text/css" href="/path-to-css/print.css" media="all" />';
} else {
$output .= '<link rel="stylesheet" type="text/css" href="/path-to-css/default.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/path-to-css/print.css" media="print" />';
}
return $output;
?>
So, if ?pf=print has been appended to the URL, then print.css is included using media="all" so that both the screen and print views use the print stylesheet. Otherwise, the default stylesheet is used for screen display and the print version for printing. This way the page will always print with the correct stylesheet but you get a screen preview of the printed page.