Develop: pdf_generator2 mit realURL

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2006, 15:47

    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:

    1. function makeRealUrlPdfLink($content, $conf) {
    2.  
    3. # Parametrer aufbauen
    4. $parms = array();
    5. require('typo3conf/localconf.php');
    6. $parameters = unserialize($TYPO3_CONF_VARS['EXT']['extConf']['pdf_generator2']);
    7. $parms['id'] = $GLOBALS['TSFE']->id;
    8. $parms['type'] = $parameters['typeNum'];
    9. $parms = array_merge($parms, $GLOBALS['HTTP_GET_VARS']);
    10. if($conf['include_post_vars']) $parms = array_merge($parms, $GLOBALS['HTTP_POST_VARS']);
    11. if($conf['attachment']) $parms['attachment'] = rawurlencode($conf['attachment']);
    12. if($conf['filename']) $parms['filename'] = rawurlencode($conf['filename']);
    13.  
    14. # link aufbauen
    15. require_once(PATH_tslib.'class.tslib_pibase.php');
    16. $link = tslib_pibase::pi_getPageLink($parms['id'],'',$parms);
    17. $GLOBALS['TT']->setTSLogMessage('link to URI: '.$link,0);
    18.  
    19. # Link zurück geben
    20. // Alte methode
    21. //return $this->makePdfLink($content, $conf);
    22. // Neue methode
    23. return '<a href="'.$link.'"'.(($conf['target'])?' target="'.$conf['target'].'"':'').((!$conf['no_blur'] && !$conf['noBlur'])?' onFocus="blurLink(this);"':'').(($conf['ATagParams'])?' '.$conf['ATagParams'].'"':'').'>'.$content.'</a>';
    24. }

    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:

    [TS]110 = TEXT
    110.value = printable version
    110.postUserFunc = tx_pdfgenerator2->makeRealUrlPdfLink
    # hier habe ich meine Funktion benutzt.
    110.postUserFunc.target = _blank[/TS]

    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


  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2006, 18:08

    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.

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2006, 18:33

    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

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2006, 19:45

    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 ;)

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    21. 09. 2006, 08:23

    Hallo steffen.

    Hast du da schon mehr Infos?!?!

    Beste,
    Tim

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2006, 11:38

    to Top^^

    Hat hierfür jemand eine Lösung?!?!
    Stehe immer noch auf dem Schlauch.

    Beste,
    Tim

  • christe christe
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2006, 13:20

    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

    [TS]30.stdWrap.preUserFunc = tx_pdfgenerator2->makePdfLink
    [/TS]

    Die Ausgabe über ein Template:

    [TS]# 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
    }
    }
    }
    [/TS]

    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?

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    08. 11. 2006, 22:51

    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

  • 0 x
    106 Beiträge
    0 Hilfreiche Beiträge
    16. 05. 2008, 16:33

    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.

  • Spyker Spyker
    Jedi-Meister
    0 x
    400 Beiträge
    0 Hilfreiche Beiträge
    17. 05. 2008, 08:10

    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".