Hallo,
ich finde ganz oft immer wieder die frage wie man pdf_geenrator2 mit RealURL statisch machen kann. Nun wollte ich hier man dem ganzen ein bischen auf den Grund gehen und hoffe das sich noch welche finden die mit vielleicht helfen. Stand der Dinge...
ich habe mir eben einmal die pdf_generator2 ein bischen angeschaut und gesehen das die Links gar nicht über die Typo3 Link Funktion erstellt werden.
Deshalb habe ich erst einmal diese Funktion erstellt:
function makeRealUrlPdfLink($content, $conf) {
# Parametrer aufbauen
$parms = array();
require('typo3conf/localconf.php');
$parameters = unserialize($TYPO3_CONF_VARS['EXT']['extConf']['pdf_generator2']);
$parms['id'] = $GLOBALS['TSFE']->id;
$parms['type'] = $parameters['typeNum'];
$parms = array_merge($parms, $GLOBALS['HTTP_GET_VARS']);
if($conf['include_post_vars']) $parms = array_merge($parms, $GLOBALS['HTTP_POST_VARS']);
if($conf['attachment']) $parms['attachment'] = rawurlencode($conf['attachment']);
if($conf['filename']) $parms['filename'] = rawurlencode($conf['filename']);
# link aufbauen
require_once(PATH_tslib.'class.tslib_pibase.php');
$link = tslib_pibase::pi_getPageLink($parms['id'],'',$parms);
$GLOBALS['TT']->setTSLogMessage('link to URI: '.$link,0);
# Link zurück geben
// Alte methode
//return $this->makePdfLink($content, $conf);
// Neue methode
return '<a href="'.$link.'"'.(($conf['target'])?' target="'.$conf['target'].'"':'').((!$conf['no_blur'] && !$conf['noBlur'])?' onFocus="blurLink(this);"':'').(($conf['ATagParams'])?' '.$conf['ATagParams'].'"':'').'>'.$content.'</a>';
}
Diese Funktion gibt schon einmal den richtigen Link zurück, denn man dann mit realURL Konfigurieren kann.
RealURL habe ich dann unter fileName so ergänzt:
'download.pdf' => array(
'keyValues' => array (
'type' => 123,
),
),
mein PDF Link wird über das Template hinzugefügt wie in der Konfiguration:
110 = TEXT
110.value = printable version
110.postUserFunc = tx_pdfgenerator2->makeRealUrlPdfLink
# hier habe ich meine Funktion benutzt.
110.postUserFunc.target = _blank
Nun bekomme ich auf meiner seite home.html den PDF Link zu home/download.pdf. Das sieht ja eigentlich schon ganz gut aus. Nun habe ich aber das problem das dieser Lik von RealURL anscheint nicht richtig verarbeitet wird.
Kann das vielleicht jemand nachvollziehen?!?!?
Beste Grüße,
Tim
Hi Tim,
da Du den Link "hart"-kodierst, findet doch keine Umwandlung von Realurl statt.
Die einfachste Methode wäre über Typolink, da man das komplette Array mit ATagParams etc übergeben kann. Dann sollte es auch mit Realurl funktionieren.
Ich habe das noch nicht probiert sondern berufe mich nur auf Dein Snippet.
ich bin mir grade nicht mehr sicher.
Aber tslib_pibase::pi_getPageLink benutzt doch die Typo3Link methode.
Deswegen ist doch der Link nicht Hardgecoded !?!?! oder?
Beste,
Tim
ja Du hast Recht.
Trotzdem erscheint mir das doppelt gemoppelt, warum dann nicht das $parm-Array erweitern und typolink aufrufen ?
$GLOBALS['TSFE']->cObj->typolink()
Dann scheint ja das einzige Problem die richtige Realurl-Konfiguration zu sein - ich probier das mal aus 😉
Hallo steffen.
Hast du da schon mehr Infos?!?!
Beste,
Tim
to Top^^
Hat hierfür jemand eine Lösung?!?!
Stehe immer noch auf dem Schlauch.
Beste,
Tim
Ich suche auch noch nach einer Lösung dieses PRoblems.
Ich bekomme zwar PDF's generiert, jedoch ohne Bilder und ohne CSS. Den Link erstelle ich mit
30.stdWrap.preUserFunc = tx_pdfgenerator2->makePdfLink
Die Ausgabe über ein Template:
# PDF ausgeben
pdf_generator = PAGE
pdf_generator {
typeNum = 123
config {
additionalHeaders = Content-type: application/pdf
}
stylesheet = fileadmin/template/css/drucken.css
50 = TEMPLATE
50 {
# Template einbinden
template = FILE
template.file = fileadmin/template/template-drucken.html
# Subpart Marker ansprechen
workOnSubpart = DOKUMENT
subparts.INHALT = CONTENT
subparts.INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
select.languageField = sys_language_uid
}
}
}
Das PDF wird mit korrektem realURL Pfad als "print.pdf" erzeugt.
Man kann die übrigens die entsprechende html-Ausgangs-Datei von der das PDF erstellt wird aufrufen unter:
/typo3temp/html2ps.html
Dort wird alles korrekt wie im Template mit CSS dargestellt. Im PDF geht es mit realURL nicht mehr. Ohne realURL (Extension deaktiviert) geht es!!
Es scheint, als hätte der PDF-Generator Probleme, die Bild und Datei-Pfade korrekt aufzulösen... Weiss jemand Rat?
Da die letzte Antwort nicht wirklich zum Problem beigetragen hat, wollte ich noch einmal nachfragen ob Ihr vielleicht eine Lösung für dieses Problem habt.
Beste,
Tim
Der Thread ist zwar schon etwas älter, aber gibt es inzwischen dafür eine Lösung? Ich stehe nämlich vor genau demselben Problem.
Danke im vorraus.
Nein, ich habe bisher keine Lösung. Habe mich aber auch nicht mehr weiter damit beschäftigt.
PS @ Contrixx-Webdesign: Ich empfehle dir/euch einen Blick in die Style Guides von TYPO3. Dann wisst Ihr nämlich das TYPO3 in Versalien geschrieben wird und nicht "Typo3".
@spyker: kontrollier mal deine signatur...^^
Liebe Community, Lieber Spyke!
Ich hab hier eine Seite gefunden die das ganze versucht in den Griff zu bekommen http://www.tonni.net/tutorials/pdfgenerator2_mit_realurl.html , jedoch wird bei mir kein Link erzeugt, der zu einem PDF führt sondern immer nur zur Startseite. Schalte ich RealURL aus oder verwende keine statische Referenzierung bei pdfgenerator2 funktioniert alles wunderbar.
Hat jemand eine Idee mittlerweile wie man den Laden zum Laufen bringt. Auf typo3.fruit-lab.de gibt es anscheinend eine Variante mit Javascript.
Bitte um kurze Rückmeldung falls jemand eine Lösung hat um pdf_generator 2 mit realUrl zu verbinden. Verwende übrigens TYPO3 4.3.2. falls das wichtig zu wissen ist.
LG Lamina
Interessanter Thread! Ich habe auch ein Problem mit dem pdf_generator2
Und zwar benutze ich Typo3 4.3.1 mit
-Templavoila 1.4.1
-RealURL 1.7.0
-tt_news 3.0.1
-comments 1.5.3
-pdf_generator2 0.5.2
-pdf_generator2_fonts 0.0.1
-tv_pdfgen 1.1.1
-> Umlaute und Sonderzeichen werden nicht korrekt angezeigt. Das PDF wird nicht komplett erzeugt, nur soweit bis ein Sonderzeichen auftaucht: Bsp: Blablalb blalalala blaa[è hier endet es dann]
-> Bilder werden nicht richtig angezeigt, es sind nur Krisselbilder zu sehen - nichts erkennbares.
-> Wenn ich eine tt_news Detailseite (single news mit Bild) auf englisch stelle, und dann da PDF generieren will, bekomm ich diese Meldung: PDFlibException - form fields not supported in PDFlib Lite
Wenn jedoch die Newsseite kein Bild hat, dann bekomm ich diese Meldung nicht.
hab RealURL mal deaktiviert, hat aber nichts gebracht. muss an was anderem hängen. Bitte um jegliche Hilfe!
pdf_generator = PAGE
pdf_generator {
typeNum = 123
# die CSS der Druckversion:
stylesheet = fileadmin/templates/css/print2.css
50 >
50 = USER
50.userFunc = tx_templavoila_pi1->main_page
50.childTemplate=pdf
}
## pdf generator [stop]
## PDF Link [start]
lib.backtopprint = COA
lib.backtopprint {
wrap = <div class="create-link">|</div>
...
40 = HTML
40.value = <img src="fileadmin/templates/img/pdf.gif" width="12" height="12" border="0" name="PDF" alt=""/>
45 = COA
45.10 = TEXT
45.10 {
value = PDF erstellen
postUserFunc = tx_pdfgenerator2->makePdfLink
postUserFunc.include_post_vars = 1
postUserFunc.target = _blank
10 = USER_INT
10.userFunc = tx_pdfgenerator->getPdfTarget
10.userFunc.include_post_vars = 1
}
...