Zum Inhalt springen

TV und eine Druckseite generieren

Erstellt am 29. Mai 2007 · 6 Antworten · letzte Antwort am 17. Juli 2007

Tags: Frage

SeFo ·

Hallo,

ich such jetzt schon seit Tagen nach einer Lösungsmöglichkeit um eine Druckseite mit TV zu realisieren #angry# . Sprich den normal angezeigten inhalt mit einem anderen einfacheren Template anzeigen. Die "normale" lösung scheitet leider an der Mehrsprachigkeit der Seite, da scheinbar durch TV das sys_language_uid flag nicht gesetzt wurde. 🙁

Gibt es da eine Möglichkeit? Oder bin ich da auf nem Holzpfad?

Danke im vorraus...

Gruß

SeFo

ehontheim ·

Moin!

Nun, der Hinweis "einfach per CSS" war etwas arg knapp gehalten.

Unter der Voraussetzung, dass du dein gesamtes Layout sauber mit CSS steuerst, dann kannst du die Anweisung @media verwenden. Beispiel:
@media all { CSS-Anweisungen für alle Darstellungen }
@media screen { CSS-Anweisungen nur für Bildschirm}
@media print { CSS-Anweisungen nur für Drucker}

Wenn der Betrachter ganz normal in seinem Explorer auf Drucken oder Druckvorschau klickt, dann würden die Anweisungen in @media all und @media print verwendet. Du kannst jetzt also gezielt die Darstellung für den Druck anpassen. Z.B.:

@media print {
body * {font-size:12pt; font-family:"Times New Roman", Times, serif; color:000000;}
#header {display:none;}
#footer {display:none;}
#menuleft {display:none;}
#maincontent {margin:0; padding:0; border:0; ..etc..}

.....
}

und so weiter und so heiter
}

Und das alles sprachunabhängig. Dafür bekommt der Betrachter allerdings keinen Button "Druckversion" angezeigt 😢

Grüße

Erwin

ehontheim ·

Hallole!

Da fällt mir auf die Schnelle noch ein: Einen Druck-Link mit JavaScript

<a id="drucklink" href="javascript:window.print()">Diese Seite drucken</a>

Und dann den Link via CSS mit Bildchen etc. hübsch formatieren.

Und weniger schnell: Ich hatte da mal testweise eine Seite mit TV, Mehrsprachigkeit, Drucklink und eigenem TV-layout aufgebaut. Aber leider schon für viele andere schnelle Tests mißbraucht. Ich schaue da mal nach, ob das noch vorhanden ist und auch noch funktioniert. So aus dem Gedächntnis weiß ich leider überhaupt nicht mehr, wie ich das gebastelt habe. Chance <50% #paralyzed#

Grüße

Erwin

daniz78 ·

Sollte hier noch Interesse bestehen, ich wollte in Kürze ein HowTo für einen printlink mit Druckvorschau schreiben, die über eine eigene typeNum definiert wird.

Leider habe ich derzeit noch keine Zeit um eine Funktion zu schreiben, die mir die POST-Daten in GET-Daten umzuwandeln, damit das ganze auch mit Indexed-Search läuft...sollte hier jemand was haben, immer her damit!

Gruß, Daniz

cordman ·

Man kann einfach ein Objekt erstellen, welches man dann per Objekt-Pfad aufnimmt:

lib {
	# Druckknopf-Anzeige
	druckknopf = COA
	druckknopf {				
			# Link in Textform
		10 	= TEXT
		10 {
			data = TSFE:id
			wrap = <a href="#" title="Druckversion anzeigen" onclick="window.open('index.php?id=|&amp;print=1&amp;no_cache=1'); return false">Druckversion</a>
		}
		# Link mit Bild
		20	= TEXT
		20 {
			data = TSFE:id
			wrap = <a href="#" title="Druckversion anzeigen" onclick="window.open('index.php?id=|&amp;print=1&amp;no_cache=1'); return false"><img src="fileadmin/templates/ressourcen/gfx/druckbutton.gif" width="54" height="53" alt="Druckansicht" /></a>
		}
	}
}

Vorher muß man ein Template-Objekt erstellen, welches eine Untervorlage des Standardtemplates ist.

Zusätzlich bleibt einem natürlich die Möglichkeit weitere Anpassungen per CSS vorzunehmen wie ehontheim es schon geschrieben hat.

Bei einem sauberen CSS-Layout könnte man so z.B. in der Ansicht (screen) ein Logo haben, welches aber beim Druck (print) nicht erscheint.

<style type="text/css" media="screen">
	@import url("ressourcen/css/normalansicht.css");	
</style>	
<style type="text/css" media="print">
	@import url("ressourcen/css/druckansicht.css");	
</style>

Grüße