Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: RSCE mit einem Template und zwei Ausgaben

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

    Support Contao

    Standard RSCE mit einem Template und zwei Ausgaben

    Folgende Ausgangslage:

    - [terminal42/contao-node]
    - [madeyourday/contao-rocksolid-custom-elements]

    Es soll ein RSCE erstellt werden mit z.B. 10 Eingabefelder.
    Dieses wird dann zentral über [node] befüllt und soll im Frontend an zwei verschiedenen Seiten (Seite A und Seite B) mit zwei verschiedenen Ausgaben ausgegeben werden.
    z.B. auf Seite A werden nur 2 Felder aus dem RSCE ausgegeben
    und auf Seite B werden die anderen 8 Felder aus dem RSCE ausgegeben

    Da hier ja nur 1 Template möglich ist, wäre die Ausgabe über eine Abfrage, ob es sich um die Seite A oder Seite B handelt, möglich?
    Ist dies möglich? Falls JA, hätte jemand eine Idee, wie soetwas umsetzbar wäre?

    Abfrage der body-Klasse und mit 'display: none;' ausblenden ... wäre eventuell eine Möglichkeit. Aber gibt es einen „saubereren“ Ansatz?
    Grüsse
    Bernhard


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

    Support Contao

    Standard

    Im Template den Seitenroot Abfrage und dann entscheiden?

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.901
    Partner-ID
    10107

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    Da hier ja nur 1 Template möglich ist
    Nein, du kannst mehrere Templates anlegen, so wie bei jedem Inhaltselement oder Modul.
    » sponsor me via GitHub or PayPal or Revolut

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

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nein, du kannst mehrere Templates anlegen, so wie bei jedem Inhaltselement oder Modul.
    wieder was dazu gelernt - das war mir nicht bewusst|bekannt. Danke!
    Grüsse
    Bernhard


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

    Support Contao

    Standard

    Aber ... nun fällt mir aber ein, das löst aber mein Vorhaben nicht
    Denn ich möchte ja an zentraler Stelle via Nodes pflegen und an zwei Stellen via Nodes ausgeben. Also wohl doch wieder wie von @Ainschy vermerkt der Weg über die Seitenroot-Abfrage.
    Grüsse
    Bernhard


  6. #6
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    828

    Standard

    @derRenner
    wie hast Du das letztendlich praktisch gelöst?
    Ich hätte jetzt vermutlich so etwas versucht in der Art - ist aber bestimmt veraltet und falsch
    PHP-Code:
    <?php global $objPage;
       if(
    $objPage ->id == 1
    echo
    // Inhalt des Template 1 
    else echo
    // Inhalt des Template 2
    ?>
    oder werden die Templates per include geholt je nach Root ID?

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.901
    Partner-ID
    10107

    Standard

    PHP-Code:
    $GLOBALS['objPage']->rootId 
    würde ich nehmen.
    » sponsor me via GitHub or PayPal or Revolut

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

    Support Contao

    Standard

    Nun ja, die Überlegung ging schlussendlich einen Schritt weiter. Damit das RSCE auch "universeller" verbaut werden kann, kann ich mich nicht auf ID's in der Abfrage begrenzen, sondern muss etwas "Universelles" verbauen. Somit ist in der aktuellen Phase der Überlegungen ein URL-Picker mit im Spiel.
    Sprich, ich muss aktuell im RSCE die Seite der ausgewählten URL (jeweils für Teaser und Inhalt) mit abfragen und dann den entsprechenden Teil des Templates ausgeben.

    zur Zeit sieht das (für Tests) so aus:
    PHP-Code:
    <?php

    return [
        
    'label' => ['TwoTemplates','Erstellt Teaser und Content'],
        
    'types' => ['content','module'],
        
    'contentCategory' => 'WERBEpanorama',
        
    'standardFields' => ['cssID'],
        
    'fields' => [
            [
                
    'inputType' => 'group',
                
    'label' => [
                    
    'de' => ['Teaser',''],
                ],
            ],
            
    'teaserurl' => [
                
    'label' => ['Teaser-Seite','Wählen Sie aus, wo der Teaser ausgegeben werden soll.'],
                
    'inputType' => 'url',
                
    'eval' => [
                    
    'tl_class' => 'w50',
                ],
            ],
            
    'teasertext' => [
                
    'label' => ['Teaser-Text','Geben Sie den Teaser-Text ein.'],
                
    'inputType' => 'text',
                
    'eval' => [
                    
    'tl_class' => 'clr',
                ],
            ],
            [
                
    'inputType' => 'group',
                
    'label' => [
                    
    'de' => ['Inhalt',''],
                ],
            ],
            
    'contenturl' => [
                
    'label' => ['Content-Seite','Wählen Sie aus, wo die Felder des Inhaltes ausgegeben werden soll.'],
                
    'inputType' => 'url',
                
    'eval' => [
                    
    'tl_class' => 'clr w50',
                ],
            ],
            
    'contenttextone' => [
                
    'label' => ['Content EINS','Geben Sie den Content ein.'],
                
    'inputType' => 'text',
                
    'eval' => [
                    
    'tl_class' => 'clr',
                ],
            ],
            
    'contenttexttwo' => [
                
    'label' => ['Content ZWEI','Geben Sie den Content ein.'],
                
    'inputType' => 'text',
                
    'eval' => [
                    
    'tl_class' => 'clr',
                ],
            ],
        ],
    ];
    und das Template dazu:
    PHP-Code:
    <?php 
        $activeurl 
    = (\Environment::get('request'));
    ?>

    <?php if (($this->replaceInsertTags($this->teaserurl)) === ($activeurl)): ?>
    <div class="teaser">
        <div class="teasertext"><?= $this->teasertext ?></div>
    </div>
    <?php endif; ?>

    <?php if (($this->replaceInsertTags($this->contenturl)) === ($activeurl)): ?>
    <div class="content">
        <div class="contenttext">
            <div class="contenttextone"><?= $this->contenttextone ?></div>
            <div class="contenttexttwo"><?= $this->contenttexttwo ?></div>
        </div>
    </div>
    <?php endif; ?>
    Inwieweit \Environment::get('request') an dieser Stelle korrekt ist oder verwendet werden soll(te), kann ich nicht beurteilen ... dazu bin ich zuwenig Programmierer
    Grüsse
    Bernhard


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
  •