Drucken von Beiträgen

  • Hallo, in j4 sind die Buttons für Drucken und Emails ersatzlos weggefallen. Natürlich kann man die Druckfunktion des Browsers alternativ nutzen. Schöner wäre aber eine Druckfunktion, die den reinen Beitrag ohne Banner und Menü drucken würde. Wie löst ihr diese Aufgabe? search

    Viele Grüße

    Hans

  • Mit einer print.css. Cassiopeia sollte das schon an Bord haben. Auch ein Print-Button öffnet nur den Druckendialog vom Browser und würde auch das komplette Layout drucken, wenn es keine CSS gäbe die das aufbereitet.
    https://kulturbanause.de/blog/…-print-css-einer-website/

  • Auf meiner Seite eine Lösung, die auch unter Joomla 4 läuft. Ist zwar ein eigenes Plugin dahinter bei mir, aber die Grundidee:


    Der Druck-Button, der ja auch per Modul gesetzt werden kann, enthält einen Link der Art:

    Code
    <a href="?tmpl=print&print=1&layout=default">Drucken</a>

    Das ruft eine Datei print.php, die im selben Ordner liegt wie die Template-index.php.


    Schlicht gehalten: https://github.com/GHSVS-de/tp…/2021.10.10/src/print.php


    Eigentlich war das eher als abgespeckte, schlichte Leseansicht der Seiten gedacht, weil Firefox leider rechten, unvollständigen Müll liefert im "Lesemodus".


    Die component.php verwende ich nur deshalb nicht, weil die für andere Sachen "mehr Kram" enthält.


    Der Drucken-Button der dann in der Zwischenseite zu sehen ist, kommt bei mir von dem Plugin (deswegen das print=1), aber könnte man ja auch in der print.php einfach noch irgendwo unterbringen. Das ruft die Druckfunktion vom Browser.

    Code
    <a href="#" onclick="window.print();return false;">    Drucken</a>

    CSS habe ich natürlich auch jede Menge (und nie entmüllt), weil Ziel war von Beiträgen saubere Schwarz-Weiß-PDFs via Browser drucken zu können.


    Beispiel-Druckseite von Originalseite

  • Hallo Re:Later, leider bin ich erst heute dazu gekommen, deine tolle Print.php in meine Seite einzubauen. Also, ich habe die print.php in den Ordner /templates/shaper_helixultimate (mein Template) gelegt und den Code für den Aufruf zunächst in einen Beitrag eingebaut. Das Ergebnis ist nicht schlecht, der ganze Seitenmüll ist weg. Jedoch wird mir immer nur der Inhalt der ersten Seite "Homepage" nach dem Aufruf angezeigt und nicht der Beitrag, aus dem ich das "Drucken" aufgerufen habe. Du kannst das sehen, indem du die Seite "https://hansundkarin.de/rezepte-hk/brot/1036-krustav" aufrufst und dann "Drucken" aufrufst. Kannst du mir nochmal helfen? Was habe ich falsch gemacht?

    Viele Grüße

    Hans

  • Um den Druck-Link anzuzeigen habe ich drei Varianten auf meinem Beitrag Seite "https://hansundkarin.de/rezepte-hk/brot/1036-krustav" versucht:


    1. <p><a href="?tmpl=print&amp;print=1&amp;layout=default">Drucken wie angegeben, ohne href</a></p>

    Ergebnis: https://www.hansundkarin.de/?t…nt&print=1&layout=default

    Homepage wird zum Druck angezeigt


    2. <p><a href="#?tmpl=print&amp;print=1&amp;layout=default">Drucken mit href=#</a></p>

    Ergebnis: https://www.hansundkarin.de/re…nt&print=1&layout=default

    Da ist zwar die eigene Seite eingesetzt, aber das #-Zeichen zu viel


    3. <p><a href="https://www.hansundkarin.de/rezepte-hk/brot/1036-krustav?tmpl=print&amp;print=1&amp;layout=default">Drucken mit href</a></p>

    So funktioniert alles, wie es soll, aber ich möchte natürlich, dass die eigene Seite automatisch eingefügt wird.

  • Oh ja. Das Joomla SEF-Plugin, das aber aktiv bleiben muss.


    Hilft z.B., den Button via PHP einzufügen.

    Code
    echo '<a href="' . JUri::current() . '?tmpl=print&amp;print=1&amp;layout=default">Drucken</a>';

    Vielleicht mit dieser Variante in einer Modul-Position: Joomla-Modul-Override für Einbinden beliebiger Codes . Oder in einem Template-Override des article-Layout?

  • So hat das super geklappt. Vielen Dank!! :* Ich müsste jetzt das Modul in allen Beiträgen der Kategorie "Rezepte" eintragen. Oder hast du auch noch eine Idee, wie ich das Modul automatisch bei bestimmten Kategorien ausgegeben kann?

    Ich würde auch gerne die zu druckende Seite in einem separaten Fenster anzeigen. Ich habe es so versucht:

    echo '<a href="" target=”_blank”' . JUri::current() . '?tmpl=print&amp;print=1&amp;layout=default">Drucken</a>';

    Das hat aber nicht geklappt.

  • Da hast einen Tippfehler drin und auch falsche Anführungszeichen um das _blank (die man heutzutage aber eh nicht mehr braucht):

    Code
    echo '<a href="" target=”_blank”' . JUri::current() . '?tmpl=print&amp;print=1&amp;layout=default">Drucken</a>';

    So:

    Code
    echo '<a href="' . JUri::current() . '?tmpl=print&amp;print=1&amp;layout=default" target=_blank>Drucken</a>';

    oder mit Gänsefüßen:

    Code
    echo '<a href="' . JUri::current() . '?tmpl=print&amp;print=1&amp;layout=default" target="_blank">Drucken</a>';

    Und das mit der Kategorie ist mir jetzt zu zeitaufwändig den Code zu präsentieren.


    Ich würde das über eine Modul-Position machen, anstatt in alle Beiträge einzeln einsetzen. Und per Menüzuweisung im Modul steuern. Also Schritt 3 meiner Anleitung auslassen und stattdessen der Hinweis auf Position in Schritt 2.


    Mit dem Advanced Module Manager von RegularLabs kann man das dann noch filigraner steuern. Versprochen ist, dass der auch für Joomla 4 erscheinen soll. Zumindest hoffe ich das, weil meine Seite sonst nie auf Joomla 4 geht ;)

  • Nochmals ganz großen Dank an Dich!!! Es hat jetzt alles geklappt. Ich habe den Druckbutton jetzt zwar auf allen Seiten, aber damit kann ich leben. Ich warte einfach mal auf die nächsten Updates von Joomla 4 und hoffe, dass dann eine Zuordnung zu den Kategorien möglich wird. Der Advanced Module Manager ist noch nicht mit Joomla 4 kompatibel, scheidet also momentan aus. Aber ich bin sehr zufrieden, wie es momentan ist. Bessert geht immer

  • Beitrag drucken in Joomla 4


    - Beitrag öffnen

    - Text und Bilder, die gedruckt werden sollen, markieren.

    - Druckbefehl aufrufen (Windows STRG+P - Apple Befehl-P)

    - Im Druckmenü beim Firefox "Auswahl" einstellen, in Chrome "Weitere Einstellungen / Nur Auswahl"

    - Man kann wahlweise noch Kopf- und/oder Fußzeilen mitdrucken.

    - Zum Ausgeben eines PDFs den entsprechenden Drucker auswählen.