Zum Inhalt springen

Template für PDF Generator 2

Erstellt am 27. Juni 2008 · 2 Antworten · letzte Antwort am 27. Juni 2008

Tags: PDF, Frage

Fridl ·

Hi,
ich bin am verzweifeln....

Ich habe den PDF Generator 2 laufen funktioniert bis jetzt ganz gut, beim klicken auf den Link PDF wird so wie ich das möchte ein PDF von der aktuellen Seite
generiert und angezeigt. Leider sieht das PDF etwas langweilig aus da es unformatierten Text enthält.

Nun möchte ich ein Template für die PDF erstellung angeben das die PDF's entsprechend formatiert. Ich möchte die Überschriften und den Content entsprechend platzieren, und würde auch noch gerne ein aktuelles Datum auf dem PDF platzieren und vieleicht auch noch sowas wie Seite X von Y.

Für das Template habe ich mir eine HTML Datei erstellt, mit folgendem Inhalt (die CSS formate habe ich jetzt mal rausgenommen um es zu verkürzen):

<html>
	<head><!--###DOCUMENT_HEADER### begin -->
		<title>PDF</title>			
			
        <!--###DOCUMENT_HEADER### end -->
	</head>

	<body><!--###DOCUMENT_BODY### begin -->


    <table width="100%"  border="0" cellspacing="0" cellpadding="0" bgcolor="#00A0C6">
      <tr>
        <td> 
		
		</td>
      </tr>
    </table>
	
	<div class="Titel">###SEITEN_TITEL###</div>
	<div class="Untertitel">###SEITEN_UNTERTITEL###</div>
					 
	<div id="content_body">###CONTENT###</div>

	<!--###DOCUMENT_BODY### end -->
	
	</body>
</html>

Mein TS in meinem Haupt-Template sieht bis jetzt so aus:

# Default Einstellungen Seite
seite = PAGE
seite.typeNum = 0
seite.10 = TEMPLATE
seite.10 {
template = FILE
template.file = fileadmin/Templates/X/index.html
}



# CSS für News-Plugin importieren
seite.includeCSS.file1 = fileadmin/Templates/X/tt_news/tt_news_template.css

# Sprachwahl
seite.10.marks.SPRACHWAHL = TEXT
seite.10.marks.SPRACHWAHL.wrap = <a href="index.php?id=|&L=1">English</a>
seite.10.marks.SPRACHWAHL.field = uid
[globalVar = GP:L=1]
seite.10.marks.SPRACHWAHL.wrap = <a href="index.php?id=|&L=0">Deutsch</a>
[global]

# Top Menü (Sitemap, Suche, PDF, etc.)
seite.10.marks.PDF = TEXT
seite.10.marks.PDF.value = PDF
seite.10.marks.PDF.postUserFunc = tx_pdfgenerator2->makePdfLink
seite.10.marks.PDF.postUserFunc.target = _blank

...

Meine Frage ist nun wie ich das Template angeben kann sodass es nur für die PDF erzeugung verwendet wird, und ist da meine HTML Datei überhaupt richtig?

Vielen Dank schon mal!
Fridl :o

Fridl ·

So jetzt hab ich mal noch folgendes gemacht

# PDF 
pdf_generator { 
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/Templates/X/pdf_druck.html
10.workOnSubpart = BODY
10.marks.CONTENT = CONTENT
10.marks.CONTENT  {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
}
}

seite.10.marks.PDF = TEXT
seite.10.marks.PDF.value = PDF
seite.10.marks.PDF.postUserFunc = tx_pdfgenerator2->makePdfLink
seite.10.marks.PDF.postUserFunc.target = _blank

Nur leider hilft das auch nicht, das PDF sieht genau so unformatiert aus wie zuvor. Scheint so als ob er das Template komplett ignoriert. 😢

Fridl ·

Habs doch noch selber lösen können:

# PDF Template
pdf_generator = PAGE
pdf_generator {
typeNum = 123 
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/Templates/X/pdf_druck.html
10.marks.SEITEN_TITEL = TEXT
10.marks.SEITEN_TITEL.field = title
10.marks.SEITEN_UNTERTITEL = TEXT
10.marks.SEITEN_UNTERTITEL.field = subtitle
10.marks.CONTENT = CONTENT
10.marks.CONTENT  {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
}
}


# PDF Link
seite.10.marks.PDF = TEXT
seite.10.marks.PDF.value = PDF
seite.10.marks.PDF.postUserFunc = tx_pdfgenerator2->makePdfLink
seite.10.marks.PDF.postUserFunc.target = _blank

😃