Ergebnis 1 bis 14 von 14

Thema: Separates print-CSS für angemeldete Mitglieder

  1. #1
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard Separates print-CSS für angemeldete Mitglieder

    Guten Morgen alle zusammen,

    leider kann ich absolut nichts Entsprechendes hier im Forum oder in Google finden; vielleicht hat einer hier Rat:

    Ist es möglich, geschützten Seiten (sprich Seiten, auf die man nur mit Anmeldung zugreifen kann) ein separates CSS für print zuzuweisen, welches dann auch ausschließlich für den geschützten Bereicht gilt? Ich will damit erreichen, dass angemeldete Mitglieder eine etwas abgewandelte Druckversion erhalten, beispielsweise wäre dann 'Beispielinhaltselement1' auf der Webseite zwar sichtbar, im Druck jedoch für angemeldete ausgeblendet.

    Grundsätzlich kann man ja so gut wie alles schützen (Module, Inhaltselemente usw.). Für CSS habe ich aber absolut keine Möglichkeit gefunden.

    Könnt ihr mir da weiterhelfen?

  2. #2
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.864
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo
    Weise den entsprechenden Seiten ein eigenes Seitenlayout zu und diesem wiederum lass eine eigene CSS Datei laden

    Gesendet von meinem LG-D802 mit Tapatalk
    Grüsse
    Bernhard


  3. #3
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Zitat Zitat von berha Beitrag anzeigen
    Ist es möglich, geschützten Seiten (sprich Seiten, auf die man nur mit Anmeldung zugreifen kann) ein separates CSS für print zuzuweisen, welches dann auch ausschließlich für den geschützten Bereicht gilt? Ich will damit erreichen, dass angemeldete Mitglieder eine etwas abgewandelte Druckversion erhalten, beispielsweise wäre dann 'Beispielinhaltselement1' auf der Webseite zwar sichtbar, im Druck jedoch für angemeldete ausgeblendet.
    Irgendwie widersprichst du dir da etwas: wie können 'angemeldete Mitglieder eine etwas abgewandelte Druckversion erhalten', wenn die Seite für nicht angemeldete gar nicht erreichbar ist? Ich vermute, du willst nur einzelne Inhaltselemente schützen? Oder willst du einfach nur einige angezeigte Inhaltselemente aus dem Druck entfernen?

    Ich glaube, den 'normalen' Schutzmechanismus kannst du dafür nicht verwenden, denn die Elemente sollen auf der Webseite ja sichtbar sein.
    Du könntest aber den betreffenden Elementen eine zusätzliche Klasse (z.B. hidePrint) zuweisen, die das Ausblenden beim Druck bewirkt.
    Einbindung der CSS-Datei wie von derRenner beschrieben, oder die Auswertung von .hidePrint grundsätzlich in dein CSS als MediaQuery aufnehmen. Dann kannst du es überall verwenden.

  4. #4
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard Hi!

    Zitat Zitat von derRenner Beitrag anzeigen
    Hallo
    Weise den entsprechenden Seiten ein eigenes Seitenlayout zu und diesem wiederum lass eine eigene CSS Datei laden

    Gesendet von meinem LG-D802 mit Tapatalk
    Danke erst mal für die Antworten, Leute!

    An die Lösung mit dem Seitenlayout hab ich auch schon gedacht, das wäre aber sooo umständlich, da man bei kleinen für alle Seiten geltende Änderungen ja immer manuell bei allen Layouts tätig werden muss :-).

  5. #5
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von folkfreund Beitrag anzeigen
    Irgendwie widersprichst du dir da etwas: wie können 'angemeldete Mitglieder eine etwas abgewandelte Druckversion erhalten', wenn die Seite für nicht angemeldete gar nicht erreichbar ist?
    Huch, da hast du natürlich Recht mit dem Widersprechen :-)), da habe ich was Falsches geschrieben. Die Seiten sind also angemeldet sowie nicht angemeldet gleichfalls erreichbar, sollen jedoch im Druck etwas anders aussehen.

    Ich vermute, du willst nur einzelne Inhaltselemente schützen?
    Das auch, ja, aber das kann ich ja mit dem normalen Schutzmechanismus bewerkstelligen.

    Oder willst du einfach nur einige angezeigte Inhaltselemente aus dem Druck entfernen?
    Genau das will ich, aber nur wenn die Besucher angemeldet sind.

    Du könntest aber den betreffenden Elementen eine zusätzliche Klasse (z.B. hidePrint) zuweisen, die das Ausblenden beim Druck bewirkt.
    Einbindung der CSS-Datei wie von derRenner beschrieben, oder die Auswertung von .hidePrint grundsätzlich in dein CSS als MediaQuery aufnehmen. Dann kannst du es überall verwenden.
    Ja, aber mit der Klasse wäre es dann wieder nicht auf die angemeldeten limitiert. Möglich wäre, dass Contao eine Klasse zuweist, sobald sich ein Besucher anmeldet, aber das funktioniert glaube ich nicht, oder?

  6. #6
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.864
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von berha Beitrag anzeigen
    ... das wäre aber sooo umständlich, da man bei kleinen für alle Seiten geltende Änderungen ja immer manuell bei allen Layouts tätig werden muss :-).
    ??? verstehe ich jetzt nicht - du vermerkst doch, dass du via CSS arbeiten möchtest.
    Das bedeutet natürlich Aufwand für ein eigenes Layout auch ein eigenes CSS sheet zu gestalten.
    Aber du kannst das ja alles in einer einzigen CSS-Datei ablegen und dann dem Layout nur die entsprechenden Klassen zuordnen, dann brauchst du nicht "bei kleinen für alle Seiten geltenden Änderungen ja immer manuell bei allen Layouts tätig werden müssen"
    Grüsse
    Bernhard


  7. #7
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    ??? verstehe ich jetzt nicht - du vermerkst doch, dass du via CSS arbeiten möchtest.
    Das bedeutet natürlich Aufwand für ein eigenes Layout auch ein eigenes CSS sheet zu gestalten.
    Aber du kannst das ja alles in einer einzigen CSS-Datei ablegen und dann dem Layout nur die entsprechenden Klassen zuordnen, dann brauchst du nicht "bei kleinen für alle Seiten geltenden Änderungen ja immer manuell bei allen Layouts tätig werden müssen"
    Klar, hast Recht, aber nehmen wir mal an ich habe zehn verschiedene Layouts und möchte eine neue CSS-Datei einbinden, die für alle Layouts gilt, oder beispielsweise die Kopfzeile kleiner machen. Dann muss ich mich bei allen zehn Layouts durchklicken :-).

  8. #8
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.864
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von berha Beitrag anzeigen
    Klar, hast Recht, aber nehmen wir mal an ich habe zehn verschiedene Layouts und möchte eine neue CSS-Datei einbinden, die für alle Layouts gilt, oder beispielsweise die Kopfzeile kleiner machen. Dann muss ich mich bei allen zehn Layouts durchklicken :-).
    nein, nicht, wenn du mit Klassen arbeitest.
    du hast zehn verschiedene Layouts und jedem Layout gibt's du z.B eine andere body-class mit
    Dann schreibst du in nur EINEM CSS-Stylesheet für alle Klassen die Bedingungen

    Code:
    .layout-one h1 {...}
    .layout-two h1 {...}
    .layout-three h1 {...}
    .layout-four, layout-six h1 {...}
    .layout-five h1 {...}
    
    usw.
    auch kannst du jedem Seitenlayout ein eigenes Seitentemplate mitgeben - auch darin kannst du mit Klassen arbeiten.
    In Summe hast du viele Möglichkeiten verschiedene styles anzusprechen, die du an zentraler Stelle (in nur einem style-sheet) bei Bedarf anpassen kannst
    Grüsse
    Bernhard


  9. #9
    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

    Als Hasser von Installationen mit mehr als einem Layout und angepassten fe_-Templates hier mal eine einfache Lösung.

    Du willst einem eingeloggten Mitglied etwas Zusätzliches (in deinem Fall CSS) anbieten? Das ist ganz einfach. Erstelle ein Modul Typ HTML und füge es ins Seitenlayout ein. Dieses Modul gibst du nur für bestimmte Mitgliedergruppen frei. Schon erledigt.

    In dem Modul wäre in deinem Fall dann das CSS für die Mitglieder.

    Modul Typ HTML:
    HTML-Code:
    {{file::css-for-members.php}}
    templates/css-for-members.php:
    PHP-Code:
    <?php
    $GLOBALS
    ['TL_CSS'][] = 'files/css/css-for-members.css';
    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

  10. #10
    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

    Zitat Zitat von berha Beitrag anzeigen
    Möglich wäre, dass Contao eine Klasse zuweist, sobald sich ein Besucher anmeldet, aber das funktioniert glaube ich nicht, oder?
    Doch, das geht, aber auch nicht per KlickKlack als integriertes on board Feature. In Templates, oder wie oben über eine PHP-Datei, kannst du einfach checken, ob ein Mitglied angemeldet ist. Hier mal am Beispiel eines angepassten fe_...-Templates.

    Komplettes Template fe_...
    PHP-Code:
    <?php
    $this
    ->extend('fe_page');

    if(
    FE_USER_LOGGED_IN)
    {
      
    $this->class .= ' member-is-logged-in';
    }
    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

  11. #11
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    nein, nicht, wenn du mit Klassen arbeitest.
    du hast zehn verschiedene Layouts und jedem Layout gibt's du z.B eine andere body-class mit
    Dann schreibst du in nur EINEM CSS-Stylesheet für alle Klassen die Bedingungen
    Ich verstehe, was du meinst, aber dennoch muss ich die Layouts einzeln pflegen, wenn ich wie gesagt bspw. die Kopfzeilenhöhe ändere oder zusätzliche Angaben in den HEAD schreiben will :-).

  12. #12
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Als Hasser von Installationen mit mehr als einem Layout und angepassten fe_-Templates …
    Das kann ich durchaus nachvollziehen ;-)).

    Du willst einem eingeloggten Mitglied etwas Zusätzliches (in deinem Fall CSS) anbieten? Das ist ganz einfach. Erstelle ein Modul Typ HTML und füge es ins Seitenlayout ein. Dieses Modul gibst du nur für bestimmte Mitgliedergruppen frei. Schon erledigt.

    In dem Modul wäre in deinem Fall dann das CSS für die Mitglieder.

    Modul Typ HTML:
    HTML-Code:
    {{file::css-for-members.php}}
    templates/css-for-members.php:
    PHP-Code:
    <?php
    $GLOBALS
    ['TL_CSS'][] = 'files/css/css-for-members.css';
    Spitze! Genauso habe ich es jetzt gemacht und es funktioniert blendend! Danke mal wieder, Andreas :-))

  13. #13
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Doch, das geht, aber auch nicht per KlickKlack als integriertes on board Feature. In Templates, oder wie oben über eine PHP-Datei, kannst du einfach checken, ob ein Mitglied angemeldet ist. Hier mal am Beispiel eines angepassten fe_...-Templates.

    Komplettes Template fe_...
    PHP-Code:
    <?php
    $this
    ->extend('fe_page');

    if(
    FE_USER_LOGGED_IN)
    {
      
    $this->class .= ' member-is-logged-in';
    }
    Diese Methode hört sich auch gut an. Ich werds bei Gelegenheit ebenfalls testen.

  14. #14
    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

    Ah, schön, dass es dir gefällt
    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

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
  •