Fehler bei PDF-Export und Druck

  • Liebe Virtuemartianer,


    hier: dev.kauer.ch können aus der Produktdetailseite heraus keine PDF generiert oder eine Druckansicht erstellt werden. Ich steh da etwas an.


    Der Versuch, PDFs zu generieren, gibt dies hier aus:

    0 Class "JResponse" not found


    Druck:

    0 Cannot access offset of type string on string


    Beides gibt 500er-Errors.


    Was mache ich dermassen falsch..?


    Danke für sachdienliche Hinweise

    Martin

  • Danke Martin,


    ich habe das in gleicher Konfiguration einmal ausprobiert, nur PHP 8.0.x hat eine andere Unterversion.


    https://php80.sts-hosting.de/j…s/scott-aspect-940-detail


    Hier funktioniert der Aufruf der Druck-Seite.


    Vielleicht hilft es, das Template auf Cassiopeia umzustellen und zu schauen, ob es damit geht.

    Vielleicht gibt es Overrides, die alte Funktionen aufrufen. Dann müsste man dort Hand anlegen.


    Edit: Möglicherweise ist auch TCPDF nicht aktuell, am besten die einzelnen Pakete aus dem VM-Installer-Paket einmal einzeln installieren.


    Edit2: Wenn alles nichts hilft, den Joomla Debug Modus einschalten und schauen, ob es ein Stack Trace gibt. Eigentlich ist das Schritt 1. ;-)


    Grüße

    Stefan

  • Hallo Stefan,


    danke für Deine Tests!

    Lustig: In Cassiopeia bekomm ich zwar eine (etwas schlechte) Druckansicht. Das Schliessen-Icon fehlt und überhaupt ist das Vorschau-Modalfenster sehr schmal. Aber: PDF generieren gibt auch da die gleiche Fehlermeldung wie beim VP Merchant Template. PDF generieren geht also nicht.


    Error Reporting auf Maximum ...zeigt absolut nix an.

    TCPDF wäre ja nur fürs PDF generieren? Für die Druckansicht wird component.php verwendet; oder liege ich da falsch?


    Grüsse

    Martin

  • Hallo Martin,


    ich hatte nur Print eingeschaltet, nicht PDF.

    PDF funktioniert bei mir auch nicht, aber ein Stack Trace funktioniert.


    JResponse scheint es in J4 nicht mehr zu geben.

    https://docs.joomla.org/Potent…a_Platform_12.2#JResponse


    Leider bin ich jetzt raus. Ist aber weitergeleitet.





    in /j4vm3/libraries/src/Document/HtmlDocument.php (line 592)


    $options['type'] = $args[1];

    $options['name'] = $args[2] ?? null;

    $options['title'] = $args[3] ?? null;

    }

    parent::$_buffer[$options['type']][$options['name']][$options['title']] = $content;

    return $this;

    }

    /**


    HtmlDocument->setBuffer() in /j4vm3/libraries/src/Document/HtmlDocument.php (line 565)

    HtmlDocument->getBuffer() in /j4vm3/libraries/src/Document/HtmlDocument.php (line 848)

    HtmlDocument->_renderTemplate() in /j4vm3/libraries/src/Document/HtmlDocument.php (line 633)

    HtmlDocument->render() in /j4vm3/libraries/src/Document/ErrorDocument.php (line 139)

    ErrorDocument->render() in /j4vm3/libraries/src/Error/Renderer/HtmlRenderer.php (line 78)

    HtmlRenderer->render() in /j4vm3/libraries/src/Exception/ExceptionHandler.php (line 121)

    ExceptionHandler::render() in /j4vm3/libraries/src/Exception/ExceptionHandler.php (line 72)

    ExceptionHandler::handleException() in /j4vm3/libraries/src/Application/CMSApplication.php (line 323)

    CMSApplication->execute() in /j4vm3/includes/app.php (line 61)

    require_once(' /j4vm3/includes/app.php') in /j4vm3/index.php (line 32)


    Und dieses:


    Error

    Class "JResponse" not found

    in /j4vm3/libraries/src/Document/PdfDocument.php (line 212)


    $data = $pdf->Output('', 'S');

    // Set document type headers

    parent::render();

    //JResponse::setHeader('Content-Length', strlen($data), true);

    JResponse::setHeader('Content-type', 'application/pdf', true);

    JResponse::setHeader('Content-disposition', 'inline; filename="'.$this->getName().'.pdf"', true);

    //Close and output PDF document

    return $data;

    }


    JDocumentPDF->render() in /j4vm3/libraries/src/Application/CMSApplication.php (line 1017)

    CMSApplication->render() in /j4vm3/libraries/src/Application/SiteApplication.php (line 714)

    SiteApplication->render() in /j4vm3/libraries/src/Application/CMSApplication.php (line 299)

    CMSApplication->execute() in /j4vm3/includes/app.php (line 61)

    require_once(' /j4vm3/includes/app.php') in /j4vm3/index.php (line 32)