Zum Inhalt springen

Print Funktion

Erstellt am 17. August 2008 · 9 Antworten · letzte Antwort am 17. September 2008

Tags: Frage

Ulf Hallmann ·

Hallo,

auf meiner Web-Seite www.next.aero (TYPO 3 Ver. 4.0.2) habe ich einen Print-Button mit entsprechender Funktion eingerichtet. Hatte auch alles wunderbar funktioniert bis ich mit:

config.simulateStaticDocuments = 1
config.simulateStaticDocuments_noTypeIfNoTitle = 1

das simulieren statischer Webseite ermöglichte.

Die Button-Funktion:

ICON3 = HTML
ICON3 {
value = <img src="fileadmin/icons/Print20.jpg">
value.typolink.parameter.data = page:uid
value.typolink.additionalParams >
value.typolink.additionalParams = &type=1
}

hängt auch sauber ein "&type=1" an die URL an. So sollte es wohl auch sein.

Der Vollständigkeit halber hier noch die Definition der Druckausgabe:

druckversion = PAGE
druckversion {
typeNum = 1
10 = CONTENT
10.table = tt_content
10.select.colPos = 0
10.select.languageField = sys_language_uid
stylesheet = fileadmin/nextstylePrint.css
20 = TEMPLATE
20 {
template = FILE
template.file = fileadmin/nextvorlagePrint.html
marks.INHALT = CONTENT
}
}

Was muß ich ändern um die Print-Funtion wieder zu ermöglichen, und was läuft hier falsch????

Ich bin dankbar für jeden Tip.

Ulf

Michaelh74 ·

... und was läuft hier falsch????

und das würde wahrscheinlich auch alle anderen User hier im Forum interessieren, die Dir helfen wollen ;-)

Also was klappt denn genau nicht? Der Parameter &type=1
wird ja anscheinend angehängt.

Klappts mit dem direkten Aufruf der URL:
.../index.php?id=XY&type=1

Verwendest Du css_styled_content?

Falls ja sollten Druck-Template in etwa so aussehen:

druckversion = PAGE
druckversion {
typeNum = 1
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/nextvorlagePrint.html
stylesheet = fileadmin/nextstylePrint.css
marks.INHALT = styles.content.get
}
}

Viele Grüße
Michael

PS: Bitte künftig TypoScript auch in nen TS Bereich hier im Post packen.

Ulf Hallmann ·

Hallo Michael,

besten Dank für Deine Antwort.

Was nicht funktioniert? &type=1 wird an die URL angehängt, aber die Druckansicht erscheint nicht, bzw. der Druck wird nicht ausgeführt.

Dieses Problem begann nachdem ich auf das Simulieren statischer URLs umstieg.

Wenn ich die URL manuell eingebe und das index=? Format wähle, so funktioniert Druckansicht und -funktion, z.B.

http://www.next.aero/index.php?id=18&type=0 zeigt die Web-Seite
http://www.next.aero/index.php?id=18&type=1 zeigt die Druckansicht und löst den Druck aus.

Wenn ich jedoch die selbe Seite normal anzeige, sieht die URL nach Betätigung des Print Buttons wie folgt aus:

http://www.next.aero/disclaimer.html?&type=1

nur passiert leider nichts.

Herzlichen Dank,

Ulf

Dirk1 ·

Hallo Ulf,

bist du hier inzwischen weiter gekommen?
Ich habe exakt das gleiche Problem und suche das Web seit Tagen nach einer Lösung ab. Leider erfolglos.
Dafür muss es doch eine Lösung geben?

Ich sehe momentan 3 Ansätze:

1. simulateStaticDocuments für den link ausschalten
2. Irgendwie den type in "value.typolink.parameter.data = page:uid" kodieren
so dass xyz.1.html erzeugt wird.
3. RewriteRule in Apache ändern.

Zu allen 3 Ansätzen recherchiere ich wie erwähnt seit Tagen ohne Erfolg.
Sehr frustrierend, dass man bei typo3 für so simple Dinge immer wieder derart viel Zeit verbrennen muß .

Gruß
Dirk

Ulf Hallmann ·

Hallo Dirk,

ob ich eine Lösung habe? Ja und Nein?

Ja: Zwischenzeitlich ist mir mein Server abgerauscht was mich dazu zwang Installation und Web-Seite komplett neu aufzubauen. Obwohl ich an den Skripten und Konfiguration nichts geändert habe funktioniert die Print-Funktion wieder.

Nein: Verstehen tue ich es nicht.

Gruß,

Ulf

Dirk1 ·

Hallo Ulf,

interessant.
Könntest du so nett sein und die RewriteRule aus deiner Apache-Konfiguration einmal posten? Das wäre momentan meine letzte Rettung.
Bei mir steht einfach:
RewriteRule ^[^/]*\.html$ index.php

Und ist die url wirklich noch so, wie du sie gepostet hattest?

Obwohl ich an den Skripten und Konfiguration nichts geändert habe funktioniert die Print-Funktion wieder.

Das erstaunt mich. Ich habe mit der von dir geposteten Konfiguration das Problem an 4 unterschiedlichen Maschinen.

Aber Glückwunsch, dass bei dir die Kuh erst mal vom Eis ist.

Gruß
Dirk

Dirk1 ·

Inzwischen habe ich eine Lösung für das Problem gefunden:

Es ist folgender Code hinzuzufügen:

simulateStaticDocuments_pEnc = md5
simulateStaticDocuments_pEnc_onlyP = type

Dann klappt es auch mit dem Print-link - getestet auf drei unterschiedlich konfigurierten Servern.

Ob es andere Lösungen gibt, wird für immer ein Geheimnis bleiben,
da Niemand sonst hier seine Lösung posten möchte.

Vielleicht benutzt von den typo3-Profis aber auch Niemand einen Druck-Button.
😉

mccools ·

Der Link kann auch einfach so aufgebaut werden:

	#Drucklink einfügen
	DRUCKVERSION = COA
	DRUCKVERSION.10 = TEXT
	DRUCKVERSION.10{
	 field = uid
	 wrap = <a href="index.php?id=|&type=1
	}
        #Zusätzlich für Newsmeldungen
	DRUCKVERSION.20 = TEXT
	DRUCKVERSION.20{
	 data = GPvar:tx_ttnews|tt_news
	 wrap = &L=0&tx_ttnews[tt_news]=|" target="_blank">Druckversion</a>	
	}

Dies sollte auch mit simulateStaticDocuments klappen.

Dirk1 ·

Hallo mccools,

vielen Dank. Man umgeht damit allerdings typolink.
Nachteil dabei nach meinem Verständnis ist, dass nicht-Standard-Content speziell behandelt werden muss.
Im schlimmsten Fall braucht dann jede Seite ihren "eigenen" Druckbutton.

Gruß
Dirk

Michaelh74 ·

Genau, die Lösung kann nur schlecht Sprachparameter sowie Parameter von Extension handeln.

Typolink ist deshalb vorzuziehen.

Die Lösung von Dirk ist schon der richtige Weg.

Anscheinend interpretiert T3 den type Parameter nicht.

Vielleicht könnte man das alternativ per Conditions auch erreichen.
Also Abfrage nach type und je nachdem das entsprechende Template einbinden.

Gruß
Michael