Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Alle Artikel einer Seite ausgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    116

    Standard Alle Artikel einer Seite ausgeben

    Hallo zusammen,

    ich bin öfters in die Situation gekommen, in der ich gewisse Layout-Elemente in Artikel packe, die dann der Ordnung halber auf einer eigenen Seite platziere.

    Wenn es wenige dieser Artikel gibt und auch selten welche hinzukommen reicht i.d.R. der {{insert_article}} Tag vollkommen aus, aber im neusten Projekt sind derer Artikel viele und vor allem müssen recht häufig neue hinzugefügt werden.

    Deshalb würde ich gerne wissen, ob jemand eine Möglichkeit für mich hat, durch welche ich einfach alle Artikel einer Seite ausgeben kann. Mit allen CEs und Werten etc.

    Ich habe gesehen, für die 3. Version gab es eine Ext. namens ce_article_list, aber diese scheint es nicht mehr zu geben...

    Vielen Dank für jede Hilfe
    LG Florin

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von FlorinvV Beitrag anzeigen
    ich bin öfters in die Situation gekommen, in der ich gewisse Layout-Elemente in Artikel packe, die dann der Ordnung halber auf einer eigenen Seite platziere.
    dafür könne Node https://extensions.contao.org/?q=nod...%2Fcontao-node ggf. eine Alternative sein

    den Rest habe ich nicht verstanden

  3. #3
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    116

    Standard

    Ja, ich glaub ich habe das nicht so gut formuliert...

    Also es geht im Grunde darum, dass ich eine Ordnerseite angelegt habe, auf der ich einen Haufen Artikel anlege. Diese dienen dann als Basis für Pop-Ups, die der Kunde pflegen können soll.

    Damit jetzt auf der eigentlichen Inhaltsseite nicht 30 Artikel angelegt werden müssen und keiner mehr durchblickt, habe ich diese Pop-Up Artikel ausgelagert, damit die Inhaltsseite ordentlicher aussieht.

    Das Problem hier ist allerdings, dass ich, wenn ich Artikel von anderen Seiten ausgeben möchte, entweder mit dem Artikel-CE oder mit dem Inserttag arbeiten muss. Das geht aber ja nicht automatisch, heißt, wenn ein neuer Pop-Up-Artikel angelegt wird, muss ich diesen dann noch händisch in die Seite einbinden.

    Mit wäre es lieb einfach sagen zu können, nimm alle Artikel auf dieser Seite und binde sie 1zu1 auf der anderen Seite ein...

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von FlorinvV Beitrag anzeigen
    Mit wäre es lieb einfach sagen zu können, nimm alle Artikel auf dieser Seite und binde sie 1zu1 auf der anderen Seite ein...
    dazu ist mir keine Erweiterung bekannt... Du könntest Dir ein Snippet in ein Template eines HTML-Elementes bauen oder besser ein eigenes Inhaltselement - dort alle Artikel einer gegebenen Seite (pid = 42) abholen und ausgeben

  5. #5
    Contao-Nutzer
    Registriert seit
    06.04.2020.
    Beiträge
    116

    Standard

    schade...

    Ich habe gerade mal versucht die Sache mit Nodes umzusetzen, allerdings scheine ich hier auch noch einmal die Nodes anhaken zu müssen, wenn ich sie erstellt habe.

    Naja, dann sehe ich mal, ob ich da was geschrieben bekomme

    Vielen Dank trotzdem für die Hilfe

  6. #6

  7. #7
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Mit RSCE (https://extensions.contao.org/?q=roc...ustom-elements) kann man das lösen. Nicht schön, aber funktioniert.

    rsce_articlelist_config.php
    PHP-Code:
    <?php

    return array(
      
    'label' => array('Artikelauflistung''Listet alle Artikelinhalte auf einer Seite aus.'),
        
    'types' => array('content'),
        
    'contentCategory' => 'misc',
        
    'standardFields' => array('cssID'),
        
    'fields' => array(
          
    'headline' => array(
            
    'inputType' => 'standardField',
          ),
          
    'pageSettings' => array(
            
    'label'   => array('Seiten-Einstellungen'),
            
    'inputType' => 'group',
          ),
          
    'page' => array(
            
    'label'                   => array('Seite','Wählen Sie die Referenzseite aus.'),
            
    'inputType'               => 'picker',
            
    'eval'  => ['context' => 'dc.tl_page','mandatory' => true],        
          ),
        )
    );
    ?>
    rsce_articlelist.html5
    PHP-Code:
    <?php
    if (TL_MODE === 'BE') {
        echo 
    '<span style="color: #999">### Artikelliste ###</span>';
        return;
    }
    ?>
    <div class="ce_articlelist <?php echo $this->class ?> block"<?php echo $this->cssID ?>>
        <?php if($this->headline):?><<?= $this->hl ?>><?php echo $this->headline ?></<?= $this->hl ?>><?php endif; ?>
        

            <?php
            
    if( $objArticles = \ArticleModel::findPublishedByPidAndColumn($this->page,'main')) : 

                while(
    $objArticles->next()){
                    echo \
    Controller::getArticle($objArticles->idfalsetrue'main' );
                }
                       
            endif; 
    ?>
           
    </div>

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
  •