Contao-Camp 2024
Ergebnis 1 bis 4 von 4

Thema: Syndikation: Artikel anstatt Seite drucken

  1. #1
    Contao-Nutzer
    Registriert seit
    25.03.2014.
    Beiträge
    47

    Standard Syndikation: Artikel anstatt Seite drucken

    Hallo,

    Wo kann ich die Syndication so umbauen, dass aus dem normalen "Seite Drucken"-Button ein "Artikel Drucken"-Button wird? Natürlich nicht nur in der Beschriftung, sondern eben die Funktion an sich. Als PDF kann ich den Artikel ja gezielt generieren lassen, ich gehe also davon aus, dass das ebenfalls beim Drucken möglich sein sollte. (Contao-Version 3.5.27).

    MfG,

    Paul

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Der Klick auf das Druckericon löst nur die normale Seite-Drucken-Aktion des Browsers aus.
    HTML-Code:
    <a ... title="Diese Seite drucken" onclick="window.print();return false">...
    Anpassen kann man die Druckausgabe über CSS. Hier z.B. aus der Demo:
    PHP-Code:
    @media print {
      
    body {
        
    margin0;
        
    padding0;
        
    background#fff !important;
        
    font-size14px
      
    }
      .
    grid12,
      
    #wrapper {
        
    width100%
      }
      
    nav,
      
    #header-top-bar,
      #nav-main,
      
    .mod_breadcrumb,
      
    #social,
      
    .mod_newsmenu,
      .
    mod_login,
      
    #left,
      
    .mod_booknav,
      .
    pagination {
        
    displaynone
      
    }
      
    #main .inside {
        
    margin0
      
    }
      
    #container {
        
    padding0
      
    }
      .
    accordion {
        
    heightauto !important;
        
    visibilityvisible !important;
        
    opacity!important
      
    }
      
    #footer .mod_newslist,
      #footer .mod_eventlist,
      
    .mod_subscribe,
      .
    mod_unsubscribe {
        
    displaynone
      
    }

    PDF verfolgt einen anderen Ansatz, da wird der Quelltext des Artikels zur PDF-Engine geschickt.

    Ob der Browser das annimmt, wenn du z.B. bei Klick auf Drucken das Print-CSS so veränderst, dass nur der aktuelle Artikel sichtbar wird, weiß ich nicht noch nie ausprobiert, kannst du ja mal versuchen.

    Den Textbaustein 'Diese Seite drucken' verändert man in seiner eigenen system/config/langconfig.php
    PHP-Code:
    $GLOBALS['TL_LANG']['MSC']['printPage'] = 'Diesen Artikel drucken'// default DE 'Diese Seite drucken' 
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    HTML Only print the article, not the page.

    Wow, das funktioniert (Firefox), ich habe das gerade einmal ausprobiert.

    Template mod_article angepasst (kann man aber bestimmt auch mit JS machen)
    PHP-Code:
    ...
    <?php if ($this->printButton): ?>
      <button title="<?= $this->printTitle ?>" class="print"><?= Image::getHtml('assets/contao/images/print.gif'?></button>
    <?php endif; ?>
    ...
    Ich wollte keinen Link mit nem HREF "#" haben, deswegen A ausgetauscht gegen BUTTON. Außerdem wollte ich das ONCLICK-Attribut raus haben.

    Das hier ins JS (jQuery).
    PHP-Code:
    var printButtons = $('button.print'),
        
    articles     = $('.mod_article');

    printButtons.click(function(){
      
    articles.removeClass('print');
      $(
    this).closest('.mod_article').addClass('print');
      
    window.print();
    }); 
    Das hier ins CSS
    HTML-Code:
    @media print {
      #main .mod_article {
        display: none
      }
      #main .print {
        display: block
      }
    }
    Bei Klick auf ein Drucker-Icon bekommt der entsprechende Artikel die Klasse "print" (erst die Klasse "print" bei allen anderen Artikeln entfernen). Das CSS setzt alle Artikel in #main auf display:none; der Artikel mit der Klasse "print" hingegen bekommt display:block.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Contao-Fan
    Registriert seit
    08.04.2014.
    Ort
    Langenfeld
    Beiträge
    331

    Standard Only print the article, not the page.

    Hallo Andreas, habe das versucht im C4.8.7 zum Laufen zu bekommen aber es funst nicht.
    Alles so eingegeben wie es oben steht ich kann auf den Button drücken aber es kommt nichts auch keine Fehler Meldung.
    Was kann ich noch machen.
    Danke
    wolli
    Geändert von wolli (08.02.2020 um 12:51 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •