[TYPO3-UG Denmark] printvenlig

Martin Aarhof martinprikaarhof at gmail.com
Wed Jul 4 12:03:17 CEST 2012


On 04-07-2012 00:07, Jakob Raaschou Nielsen - T3CMS.dk wrote:
> Løsningsmodeller:
>
> 1) TemplaVoila. Man anvender TemplaVoilas måde til at lave en printvenlig
> version vha. &print=1. Dvs man laver en subtemplate af hver TO med
> rendering
[snip]
> Ulemper: seperat TO til printvenlig skal laves for hver alm TO hvor man
> ønsker en printvenlig version. Der åbnes nyt vindue
> Eksempel: http://biosikring.dk/ hvor der er printlink i toppen eller
> http://www.urtekram.dk/om-urtekram/ hvor der er link i
> contentfeltet til print der åbner
> http://www.urtekram.dk/om-urtekram/?print=1&no_cache=1 med printdialogbox

- Kræver man klikker på et link, og man ikke bruger browserens CTRL+P 
eller File > Print, som jeg ser som den største udfordring - Man ved jo 
aldrig hvad brugeren gør. Man kan måske måle på det, går nok også meget 
an på hvad content på sitet er - Hvilken type brugere der bruger sitet

Er print overhovedet nødvendigt. (Igen, går an på content)
Share, email, (i)pad eller smartphone er vel ved at vokse sig store nok 
til at man bruger det efterhånden?

> 3) mediatype CSS. Printvenligt version laves udelukkende via css. Enten via
> @media print inline i CSS eller med header include af <link
> rel="stylesheet"
> type="text/css" href="print.css" media="print">
> Fordele: forholdsvist nemt og hurtigt lavet og kræver mindre TYPO3
> tilpasning.
> Kræver ikke nyt vindue og load af ny side.
> Ulemper: Typisk mange elementer der skal deaktiveres hvis man kun ønsker
> print skal indeholde maincontent. Brugeren ved oftes ikke hvad der
> kommer ud
> på printet i forhold til det man ser på skærmen, da man oftes ikke ser
> printpreview.
> Eksempel: http://www.hki.dk/ hvor printikon åbner printdialogbox og
> printoutput er stylet til printformat via header include af css med
> media="print" og alle elementer der ikke skal vises er sat til
> display:none,
> dvs #header, #sidebar, .sound, .print{display:none;}

Hvis ellers html templaten er sat "ordentligt" op, så vil jeg bestemt 
mene det er klart det nemmeste. Især med CSS queries.

Og sikkert også det hurtigste at ændre.

Hvis redaktøren har et element de ikke ønsker at komme med i printet, 
men gerne vil have det i content elementet, så burde det være ret nemt 
at lave en lille extension der giver mulighed for en checkbox, der så 
tilføjer klassen noprint til et html element rundt om elementet.

>
> Jeg anvender normalt løsning 1 hvilket er nemt nok hvis der ikke er
> sindsygt mange TO's men hvad
> gør i andre normalt?

Hvad gør du så med CTRL+P / File > Print ?

>
> Optimalt vil jeg mene, at hvis man bruger TemplaVoila så ville jeg bruge
> løsning 1 kombineret med 3 så man også tilføjer et stylesheet via header
> include med media="print" ,hvor man sikrer det ser fornuftigt ud hvis
> brugeren ikke anvender printlinket men printer direkte via ctrl+p eller
> filer->print, hvis man ikke ønsker at brugeren skal kunne printe hele sitet
> uden printformatering som er 100% styret.

Lave dobbelt arbejde?

>
> Andre småting som man måske også lige skal tæke over:
>
> SEO: hensyn til double content og anvendelse af canonical med hensyn til at
> man typisk kun viser alm indhold og ofte slet ikke vil have den
> printvenlige version indexseret... Så anvendes løsning 1 med ny print
> side, så bør der være et nofollow på printlinket.
> dvs ATagParams = rel="nofollow"

Igen CSS er klart fordelen, du skal ikke tænke på dette.

> Smider normalt følgende i nederst i printtemplaten for at åbne print
> dialogboxen:
> <script language="Javascript1.2" type="text/javascript">

Håber da ikke du har language med i dit script tag :/
Deprecated, og har været det stortset ligeså længe jeg overhovedet kan 
huske... næsten - Tror næsten det var før IE6 det blev deprecated.

Idag, bruger man bare <script>...</script> og <style>...</style>
Intet andet behøves ;-)

> <!--
> window.print();
> //-->
> </script>

<div id="printlink">Print side</div>
<script>
document.getElementById('printlink').onclick = window.print();
</script>

Så er der også link til CSS print


Skulle man gå et skridt videre, og begynde at lege med sidenumre, 
footers og headers, så ville jeg nok springe over til Prince 
http://www.princexml.com/
Som giver mulighed for lidt mere CSS
XML er måske lidt misvisende, men HTML + CSS + deres specielle CSS tags 
kan sagtens konverteres til pdf


More information about the TYPO3-UG-Denmark mailing list