TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Mini-Tutorial Printlink - Druckversion (ohne Extension)


Autor Nachricht
Verfasst am: 19. 03. 2009 [18:45]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
Es gibt zahlreiche Posts zum Thema Printlink. Hier eine Mini-Anleitung fuer einen Druck-Link

- inkl. aller GET-Parameter, von wegen Druckansicht bei News bzw. Adressen,

- ohne eine Print-Extension wie "make_printlink" installiert zu haben,

- mit einem definierten page type 98,

- getestet u.a. mit wt_directory.


TYPOSCRIPT
temp.print-link = TEXT
temp.print-link {
	value = Print this page
	wrap = <p class="print-link">|</p>
	typolink {
		# link to the current page id with type 98
		parameter = {page:uid},98
		parameter.insertData = 1
		useCacheHash = 1
		# add all get parameters from the current URL
		addQueryString = 1
		addQueryString.method = GET
		# remove the page id from the parameters so it is not inserted twice
		addQueryString.exclude = id
	}
}
 
# Add the print link to your page (you will have to adapt this to your setup)
page.10.subparts.PRINT-LINK < temp.print-link


Stammt nicht von mir sondern von: support.typo3.org/snippets/c/131/

Hier eine beispielhafte Definition fuer Page-Type 98:

TYPOSCRIPT
# DRUCKSEITE DEFINIEREN
# *********************************************
print = PAGE
print {
  typeNum = 98
  ##disable typo3 index
  config.index_enable = 0
 
  ##disable google index
  headerData.123 = TEXT
  headerData.123.value = <meta name="robots" content="noindex, nofollow" />
 
  includeCSS.fileDefault = fileadmin/templates/stylesheet-print.css
  10 = TEMPLATE
  10 {
      template = FILE
      template.file = fileadmin/templates/template-print.html
      workOnSubpart = DOKUMENT
 
      marks { 
        INHALT < styles.content.get
      }      
    }
  }

Have fun
Liz

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 02.04.2009 um 11:08.]

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 02. 04. 2009 [17:21]
otti
Dabei seit: 08.12.2003
Beiträge: 164
lizbet schrieb:


- inkl. aller GET-Parameter, von wegen Druckansicht bei News bzw. Adressen,



Funzt bei mir leider bei den News nicht; die Seite bleibt leer. banghead.gif
Bei normalem Content geht es.

Gruß aus Lippe,

Otti.
Profil
Verfasst am: 02. 04. 2009 [17:38]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
hi otti,
zeig mal ein bisschen code.
sprich: wie sieht deine printpage (template) aus, wie ist der print-marker definiert und eingebunden?
gruesse aus ffm
liz

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 02. 04. 2009 [17:55]
otti
Dabei seit: 08.12.2003
Beiträge: 164
Ich habe Dein Beispiel auf meine Seite umgebaut:

TYPOSCRIPT
temp.printlink = TEXT
temp.printlink {
        value = | Seite drucken >>
        wrap = <p class="print-link">|</p>
            typolink {
                    # link to the current page id with type 98
                    parameter = {page:uid},98
                    parameter.insertData = 1
                    useCacheHash = 1
                    # add all get parameters from the current URL
                    addQueryString = 1
                    addQueryString.method = GET
                    # remove the page id from the parameters so it is not inserted twice
                    addQueryString.exclude = id
                     }
                }
 
 
druckversion = PAGE
druckversion {
       typeNum = 98
       ##disable typo3 index
       config.index_enable = 0
 
       ##disable google index
       headerData.123 = TEXT
       headerData.123.value = <meta name="robots" content="noindex, nofollow" />
 
       includeCSS.fileDefault = fileadmin/css/print.css
  10 = TEMPLATE
  10 {
      template = FILE
      template.file = fileadmin/templates/print.tmpl
 
      marks { 
        content_middle < styles.content.get
        content_right < styles.content.getRight
            }      
     }
             } 
 
printbutton < temp.printlink


Template der Printpage:

TYPOSCRIPT
<!--###DOCUMENT_BODY### start -->
<div id="container">
    <div id="content_top2">
          ###content_middle###
    </div>
 
   <div id="right_top2">
          ###content_right###
    </div>
</div>
<!--###DOCUMENT_BODY### stop -->


Danke, Otti.
Profil
Verfasst am: 02. 04. 2009 [18:22]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
ohne gross nachzudenken:

TYPOSCRIPT
printbutton < temp.printlink

das ist bzw. soll ein marker sein, der in deinem page object mit type 0 eingebunden ist. ist vielleicht im howto nicht ganz so schoen formuliert...

also dein html-template fuer type 0 sollte irgendwie so aussehen :
HTML
<!--###DOCUMENT_BODY### start -->
<div id="container">
    <div id="content_top2">
          ###printbutton###
          ###content_middle###
    </div>
 
   <div id="right_top2">
          ###content_right###
    </div>
</div>
 
<!--###DOCUMENT_BODY### stop -->


dein ts-template fuer page 0 sollte so aussehen (das ts fuer den printlink und die page type 98 hab ich jetzt nicht komplett reingeschrieben):
TYPOSCRIPT
temp.printlink = TEXT
## temp.printlink uswusf
 
page = PAGE
page {
  ## deine sachen ...
  typeNum = 0
 
  10 = TEMPLATE
  10 {
      template = FILE
      template.file = dein-NICHT-PRINT-template.html
      workOnSubpart = DOKUMENT
 
      marks { 
        ## deine anderen marker ...
        printbutton < temp.printlink 
        content_middle < styles.content.get
        content_right <  styles.content.getRight
      }      
  }
}
 
druckversion = PAGE
## druckversion uswusf.


ist das so?

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 02.04.2009 um 18:28.]

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 02. 04. 2009 [18:57]
otti
Dabei seit: 08.12.2003
Beiträge: 164
Hallo,

also jetzt bin ich etwas überfordert (wie so oft icon_rolleyes.gif )

Das

TYPOSCRIPT
printbutton < temp.printlink


steht im root-Template im TS bei den anderen Markern, da der Printlink auf jeder Seite zu sehen ist.

Weiter oben - also außerhalb von "marks" - steht der Rest (siehe oben).

Ich muß doch nicht den "###printbutton###" noch ins Template der Druckseite schreiben,
denn dieser Marker wird doch nur durch "| Seite drucken >>" ersetzt?

Mit allem ausser der News funzt es ja auch?

Jetzt steh ich voll auf´m Schlauch ...

Danke,

Otti.

Profil
Verfasst am: 03. 04. 2009 [10:52]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
kann ich mir das mal ansehen?
fe und be?
gruss
liz

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 04. 04. 2009 [15:02]
otti
Dabei seit: 08.12.2003
Beiträge: 164
Danke, hast PM.
Profil
Verfasst am: 05. 04. 2009 [15:03]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
hi otti,
du hast auf deiner news seite per ts fuer type 0 den marker "content-middle" umdefiniert:
TYPOSCRIPT
# marks:
content_middle < plugin.tt_news
content_middle USWUSF.


dein druck-ts (type 9icon_cool.gif von der root macht aber fuer "content-middle" immer noch:
TYPOSCRIPT
# marks
content_middle < styles.content.get

das heisst er will hier content reintun, den du auf dieser seite gar nicht hast (deshalb war die seite auch leer).

ich habs in deinem news-ts zeile 142 fuer das print umdefiniert:
TYPOSCRIPT
## lizbet start
druckversion.10.marks { 
        content_middle < plugin.tt_news
		  content_middle { 
			pid_list >
			pid_list = DEINE_PID
			singlePid >
			singlePid =  DEINE_PID
			code >
			code = SINGLE
			_LOCAL_LANG.de.noNewsIdMsg =  DEINE_MSG
			}   
        content_right < styles.content.getRight
 }
## lizbet ende


fuer "content_right" gilt freilich das selbe. da musst du noch hand anlegen.

es gruesst aus ffm
liz

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 05.04.2009 um 15:11.]

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 05. 04. 2009 [16:29]
otti
Dabei seit: 08.12.2003
Beiträge: 164
Alles bestens, vielen Dank!

Gruß aus Lippe,

Otti
Profil