- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Druckvorschau HTML
Hallo zusammen,
ich mรถchte fรผr meine HTML - Seite eine Druckvorschau erzeugen, welche abweichend zu der eigenen Seite aussieht.
Ich weiร dass man so etwas รผber die media-Anwendung (media="print, embossed") realisieren kann.
Meine Frage ist jedoch, wie bekomme ich es in FS 5 hin, dass alle meine versch. Seiten einen Link/Button "Drucken" haben und dieser ein neues Browserfenster รถffnet, welcher diese "Eigenschaft" setzt?
Ich hoffe es kann mir jemand weiterhelfen!
PS: Falsch ich mit der media-Anwendung auf dem falschen Weg bin und es in FS eine andere Mรถglichkeit gibt bin ich fรผr entsprechende Tipps u. Hinweise sehr dankbar. Aus der Hilfe und innerhalb der Community konnte ich bis jetzt nichts finden.
Viele Grรผรe
Matthias
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
im dem FirstSpirit Beispiel Projekt Mithras Energy kannst du eine Beispiel Implementierung zu deiner Frage finden. Der entsprechende Quellcode steht am Ende der Seitenvorlagen Homepage und Standard.
Beispiel:
<li>
<a href="#top" onclick="self.print();return false;"$CMS_VALUE(editorId(element:#global.gca("print"), editorName:"pt_label"))$>
<img src="$CMS_REF(media:"icon_print")$" alt="" />
$CMS_VALUE(#global.gca("print"))$
</a>
</li>
Viele Grรผรe
Renรฉ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Rene,
danke fรผr die Antwort.
Diese Lรถsung hilft mir jedoch leider nicht weiter. self.print() ist ja nur die JavaScript - Funktion die das Drucken des Browsers aufruft.
Ich habe keine HTML-Vorschau (neues Fenster mit anderem CSS)!
Was ist wenn der User JavaScript deaktiviert hat?
Viele Grรผรe
Matthias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
dann hatte ich dich wohl falsch verstanden. Du mรถchtest also รผber einen Button eine Druckvorschau in einem neuen Tab รถffnen? In dem Tab mรถchtest du dann mit einem angepassten CSS die Inhalte so anzeigen wie sie gedruckt werden wรผrden?
Dafรผr erstellst du dir einen neuen Ausgabekanal in dem du die Druckvorschau implementierst. Im HTML Ausgabekanal definierst du dann einen Link der auf die aktuelle Seite, aber in einen anderen Ausgabekanal verweist.
<a href="$CMS_REF(#global.ref, templateSet:"drucken")$"> [...] </a>
Im Mithras Energy Projekt wird die gleiche Vorgehensweise fรผr den Link "PDF-Version" verwendet.
Grรผรe
Renรฉ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Rene,
genau das meinte ich.
Das mit dem zusรคtzlichen Kanal ist mir dabei auch schon eingefallen. Wir verwenden ja auch bereits einen eigenen PDF-Kanal.
Das ist jedoch fรผr mich auch keine vernรผnftige Lรถsung, denn ich mรผsste ja dann in diesen zusรคtzlichen Kanal die komplette HTML-Ausgabe aller meiner Seiten-, Absatz- und Linkvorlagen kopieren. Der Aufwand ist bei einem groรen Projekt erheblich. Zudem hรคtte ich dann immer den doppelten Aufwand wenn eine รnderung vorgenommen wird.
Ich fรผrchte fast es gibt keine vernรผnftige Lรถsung die in jedem Fall funktioniert (auch bei ausgeschaltetem JS)
!?
Gruร
Matthias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
ggf. ist es bei euch sinnvoll die PDF-Version als Druck Version zu nehmen oder auf die Browserfunktion zurรผckgreifen. Andernfalls kรถnnt ihr in der URL einen Parameter fรผr die Druckvorschau mitรผbergeben und bei true die CSS fรผr die Druckvorschau verwenden.
Viele Grรผรe
Renรฉ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
genau diese Punkte haben wir auch schon diskutiert und unserem Kunden vorgeschlagen.
Problem dabei ist, dass wenn wir die PDF-Version verwenden passiert beim Drucken-Link etwas anderes als bei Drucken im Browser.
2. URL-Parameter kรถnnen ja nur via JS oder eine Programmiersprache (PHP, etc.) ausgelesen werden und dementsprechend das CSS eingebunden werden. Wir haben aber die Anforderung HTML-Seiten zu generieren und kein PHP!
Insgesamt gรคbe es viele Mรถglichkeiten, die sich jedoch mit den Vorgaben unseres Kunden nicht uneingeschrรคnkt umsetzen lassen.
Wir haben dem Kunden jetzt 3 Lรถsungsvorschlรคge die sich mit deinen Vorschlรคgen decken unterbreitet und warten auf eine Entscheidung.
Dieser Beitrag kann dann geschlossen werden.
Gruร
Matthias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
wenn das Ganze komplett ohne JS und mit purem HTML funktionieren soll, bleibt ja eigentlich nur das tatsรคchliche Generieren der entsprechenden Druckvorschauseiten "parallel" zu den eigentlichen Seiten. Die Idee mit dem zusรคtzlichen Ausgabekanal geht ja in diese Richtung, hat aber entsprechende Nachteile.
Vielleicht kรถnnte man auch folgendes machen (nur als grobe Idee):
Die Grundidee ist, einfach denselben Ausgabekanal zwei mal zu generieren, dabei aber eine Generierungsvariable zusammen mit einer Namenskonvention fรผr die URLs der PrintPreview (die beim zweiten Durchlauf erzeugt wird) zu verwenden.
Also: Eigentliche Generierung der Webseiten (Browseransicht) durchfรผhren, generierte Dateien in ein temporรคres Verzeichnis kopieren (oder theoretisch auch direkt deployen). Dabei den Druckvorschau-Link als Link der Seite auf sich selbst, aber mit "manipulierter" URL erzeugen, grob nach folgendem Prinzip:
<a target="_blank" href="$CMS_VALUE(#global.ref.url.replace(".html","_print.html"))$">Druckvorschau</a>
Dann eine zweite Generierung derselben Seiten (jetzt aber ohne Medien) durchfรผhren, bei der zweiten Generierung eine Generierungsvariable im Generierungstask setzen (z.B. gv_printPreview=1). Diese in den Templates auswerten und dann das "PrintPreview"-HTML statt des "normalen" erzeugen. Viele Stellen sollten es ja nicht sein.
Wenn man jetzt noch dafรผr sorgt, dass die Dateien der zweiten Generierung von *.html in *_print.html umbenannt werden und diese dann wieder mit denen der ersten Generierung zusammenfรผhrt, mรผsste es eigentlich passen...
Viele Grรผรe
Michael

