Ergebnis 1 bis 13 von 13

Thema: Inhaltselement nur bedingt anzeigen lassen?

  1. #1
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard Inhaltselement nur bedingt anzeigen lassen?

    Hallo zusammen,
    ich bastel gerade etwas an Isotope rum und habe meine Seite im Backend wie folgt gestaltet.

    ## Elementen Typ TEXT ##
    ## Produktleser ##
    ## Produktliste ##

    Soweit ist auch alles wie ich es wollte. Was mich aber stört ist das dass Inhaltselement TEXT über jedem "Produkt" angezeigt wird. Ist ja auch klar da Produktliste & Leser auf der selben Seite sind. Aber wie kann ich das NUR für diese eine Seite ändern das über der Produktliste das Inhaltselement TEXT angezeigt wird, aber nicht über dem eigentlichen Produkt?

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Angenommen der Produktleser wird über den auto_item gesteuert (kenne Isotope nicht wirklich), sollte es sich durch ein angepasstest Template lösen lassen, dass du dann für das Textelement auswählst:

    PHP-Code:
    <?php 

    if (Input::get('auto_item')) {
        
    $this->extend('ce_text');
    }
    Dieses Template sorgt dafür, dass nur, wenn eine Auto-Item gegeben ist, vom Originaltemplate geerbt wird. Sonst bleibt es leer.
    Geändert von webstar (01.11.2018 um 16:09 Uhr)

  3. #3
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard

    Hallo
    danke für die Antwort.
    Muss ich das im template vom reader ändern?

    Was genau macht der Code?

  4. #4
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Ripperz Beitrag anzeigen
    Hallo
    danke für die Antwort.
    Muss ich das im template vom reader ändern?

    Was genau macht der Code?
    Beide Fragen sind doch in meinem Beitrag schon beantwortet?

  5. #5
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard

    Hallo Webstar,
    ich habe den Code mal in das Template eingebunden. Allerdings bleibt der Text bestehen. Dafür wird ein großteil der Artikel nicht mehr geladen.
    Hast du eine Ahnung woran das liegen kann?

  6. #6
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Ahoi,
    Zitat Zitat von Ripperz Beitrag anzeigen
    ## Elementen Typ TEXT ##
    ## Produktleser ##
    ## Produktliste ##
    (...) Aber wie kann ich das NUR für diese eine Seite ändern das über der Produktliste das Inhaltselement TEXT angezeigt wird, aber nicht über dem eigentlichen Produkt?
    Ich hatte das mal folgendermaßen gelöst:
    In der iso_reader_default.html5 ganz zu Beginn folgendes eingefügt:
    PHP-Code:
    <?php
        
    // eine Variable setzen, die in fe_page ausgelesen wird.
        // Wenn es eine Product-Reader-Page ist, wird dem body die
        // Klasse 'ProdReader' hinzugefügt und darüber der Einlei-
        // tungstext ausgeblendet
        
    $GLOBALS['MEINE_VARIABLEN']['isProdReader'] = 'ProdReader';
    ?>
    und in der fe_page.html5
    PHP-Code:
    <body class="<?php echo $GLOBALS['MEINE_VARIABLEN']['isProdReader']; ?> ...
    Wenn ich nun in der Liste auf ein Produkt klicke und dieses sich öffnet (Reader), ist im Body die Klasse ProdReader vergeben.
    Mit
    HTML-Code:
    body.ProdReader .KlasseDeinesTxtElemets {
       display:none;
    }
    lässt sich dann das gewünschte IE ausblenden.
    Grüße, Stefko

  7. #7
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard

    Moin,
    ich habe das jetzt mal so versucht wie du es beschrieben hast. Allerdings passiert im Frontend nichts.
    Woran könnte das liegen?

    Muss ich noch was in das Feld "Meine Variablen" eintragen?

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Du hast die CSS-Klassen so benannt, wie es für Dich passt und auch das entsprechende CSS eingebunden?

    Nach meinem Verständnis ist steffkos Lösung insofern weniger elegant als die von webstar, als bei ihm der Inhalt ausgeliefert und dann per CSS versteckt wird. Mit dem modifizierten Template, wie webstar es vorschlägt, wird gar kein Inhalt ausgeliefert (es muss also auch nichts versteckt werden).

    Zitat Zitat von Ripperz Beitrag anzeigen
    Hallo Webstar,
    ich habe den Code mal in das Template eingebunden. Allerdings bleibt der Text bestehen. Dafür wird ein großteil der Artikel nicht mehr geladen.
    Hast du eine Ahnung woran das liegen kann?
    Dann hast Du es wohl an der falschen Stelle eingebaut.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard

    Hallo,
    ich würde das ja auch wie webstar einbinden. Nur weiß ich nicht direkt in welches Template bzw. an welcher stelle der Code reinkommt. Kann mir da vielleicht bitte jemand helfen?

  10. #10
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Ripperz Beitrag anzeigen
    Hallo,
    ich würde das ja auch wie webstar einbinden. Nur weiß ich nicht direkt in welches Template bzw. an welcher stelle der Code reinkommt. Kann mir da vielleicht bitte jemand helfen?
    Überschreibe das ce_text Template, speichere es unter einen neuen Namen, z.B. ce_text_list_only und wähle es im Inhaltselement Text aus.

  11. #11
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hatte ähnliche Anforderungen:

    Bei sehr vielen Seiten = Kategorien sollte auf jeder Seite weitere Infos zu der Produktkategorie dargestellt werden. Im Layout waren die Produkt-Liste und der Produkt-Reader hinterlegt. Der auszugebende Text wurde über einen Artikel realisiert. Die die "Abschaltung" der Artikeldarstellung in der Reader Darstellungen wurde das Template mod_article wie folgt angepasst.

    PHP-Code:
    <?php if(empty($this->replaceInsertTags'{{product::alias}}' ))): ?> // 1. Zeile im Template
    .
    .
    .
    .
    <?php endif; ?> // letzte Zeile im Template
    Somit wird auf einen Product Alias geprüft und wenn vorhanden der beschreibende Artikel-Inhalt nicht ausgegeben.

  12. #12
    Contao-Fan Avatar von Ripperz
    Registriert seit
    22.09.2012.
    Ort
    Hamburg
    Beiträge
    707

    Standard

    Moin,
    ich hab nun etwas rumgespielt, konnte allerdings kein positives Ergebnis erzielen.

    Version WEBSTAR:

    Ich habe das Template ce_text dupliziert und in ce_text1 umbenannt. Nun bin ich auf das Inhaltselement mit dem Text gegangen und habe dort das Template ausgewählt.
    Den Code habe ich am Anfang in Zeile 1 ins Template kopiert.

    PHP-Code:
    <?php  

    if (Input::get('auto_item')) { 
        
    $this->extend('ce_text'); 
    ?>

    Version: Ainschy


    Ich habe das Template mod_article erstellt und dort wie geschrieben diesen code eingefügt. In der Produktliste ist noch alles ok und wenn man auf einen Artikel/Produkt drauf klickt wird der Reader nicht geladen bzw. der Artikel/Produkt wird nicht angezeigt.


    PHP-Code:
    ?php if(empty($this->replaceInsertTags( '{{product::alias}}' ))): ?> // 1. Zeile im Template
    .
    .
    .
    .
    <?php endif; ?> // letzte Zeile im Template

  13. #13
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, wenn du alles in den Artikel packst was dann ausgeblendet wird, kann das nicht funktionieren.

    Im Layout waren die Produkt-Liste und der Produkt-Reader hinterlegt.
    Sprich die Isotope Module sind im Seitenlayout eingetragen. Nur der auszublendende Inhalt ist im Artikel hinterlegt.

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
  •