Ergebnis 1 bis 3 von 3

Thema: [rocksolid customelements] mehrfach auswahl aus seitenbaum - ideen, vorschläge ?

  1. #1
    Contao-Fan Avatar von herr rilke
    Registriert seit
    29.01.2011.
    Ort
    Münster
    Beiträge
    401

    Standard [rocksolid customelements] mehrfach auswahl aus seitenbaum - ideen, vorschläge ?

    hallo zusammen,

    ich möchte redakteuren die möglichkeit geben, einfach (interne) links auszuwählen, die zu einer betreffenden seite passen.
    diese links sollen beispielsweise in einer "mehr infos" box in der rechten spalte erscheinen und animieren, weitere seiten zu besuchen.

    kann ich das mit customelements lösen?

    ich stelle mir das ähnlich vor wie bei der multiplen seitenauswahl im seitenbaum.

    hat jemand erfahrung oder kann mich da auf den richtigen weg bringen?

    bin für jeden hinweis dankbar!

    viele grüße aus münster

  2. #2
    Contao-Nutzer Avatar von alexgr
    Registriert seit
    01.10.2012.
    Beiträge
    69

    Standard

    Das geht. Was auch immer Du im DCA im Bereich fields schreiben kannst, geht auch hier (und mehr). Du kannst das verschieden ausgewachsen aufziehen. Eine Möglichkeit ist einfach ein Seitenbaum-Feld mit Mehrfachauswahl. Config-Datei:

    PHP-Code:
    <?php
    return array(
        
    'label' => array('Linksammlung'''),
        
    'types' => array('content'),
        
    'contentCategory' => 'links',
        
    'standardFields' => array('headline'),
        
    'fields' => array(
            
    'pages' => array(
                
    'label' => array('Seiten','Auswahl der Seiten'),
                
    'inputType' => 'pageTree',
                
    'eval' => array(
                    
    'fieldType' => 'checkbox',
                    
    'multiple' => true,
                    
    'mandatory' => true
                
    )
            )
        )
    );
    Im Einzelnen:

    PHP-Code:
    'types' => array('content'), 
    Dies ist ein Inhaltselement, aber kein Frontend-Modul. Wenn es auch als Modul verfügbar sein soll, ergänzt Du 'module'.

    PHP-Code:
    'contentCategory' => 'links' 
    Das Inhaltselement im Bereich "Link-Elemente" anzeigen

    PHP-Code:
    'standardFields' => array('headline'
    Feld "Überschrift" von tl_content benutzen

    PHP-Code:
    'inputType' => 'pageTree' 
    Seitenbaum

    PHP-Code:
    'fieldType' => 'checkbox',
    'multiple' => true
    Checkbox, Mehrfachauswahl. Muss beides gesetzt sein, sonst wird nur eine Auswahl übernommen.

    Im Template bekommst Du dann mit
    PHP-Code:
    $this->pages 
    ein Array von Page-IDs.

    Diese Lösung ist im Backend sehr übersichtlich, hat aber den Nachteil, dass man keine individuellen Linktexte vergeben kann. Wenn Du das möchtest, brauchst du mehrere Eingabefelder pro Seite: einmal Seitenauswahl, einmal Linktext. Dabei hilft Dir der Custom-Elements-eigene inputType "list": https://rocksolidthemes.com/de/conta...n#feldtyp-list

    In so einem Feld kannst Du einen weiteren Block aus Feldern definieren, der wiederholt werden kann. Beispiel-Config:

    PHP-Code:
    <?php
    return array(
        
    'label' => array('Linksammlung'''),
        
    'types' => array('content'),
        
    'contentCategory' => 'links',
        
    'standardFields' => array('headline'),
        
    'fields' => array(
            
    'pages' => array(
                
    'label' => array('Seiten','Auswahl der Seiten'),
                
    'elementLabel' => '%s. Seite',
                
    'inputType' => 'list',
                
    'minItems' => 1,
                
    'fields' => array(
                    
    'page' => array(
                        
    'label' => array('Seite'''),
                        
    'inputType' => 'pageTree',
                        
    'eval' => array('fieldType' => 'radio')
                    ),
                    
    'linktext' => array(
                        
    'label' => array('Linktext'''),
                        
    'inputType' => 'text'
                    
    ),
                )
            )
        )
    );
    Hier haben wir pro Element
    PHP-Code:
    'eval' => array('fieldType' => 'radio'
    weil die Mehrfachauswahl direkt im Seitenbaum jetzt durch die Kette von Elementen ersetzt wurde.

    Außerdem neu:
    PHP-Code:
    'elementLabel' => '%s. Seite' 
    Damit kannst Du den einzelnen Blöcken innerhalb des Listenfeldes ein Label geben. %s wird durch eine laufende Nummer ersetzt. Muss man nicht verwenden, aber ich finds schick.

    Allgemeine Infos dazu, wo bei Custom Elements was hinkommt (besonders das Prinzip "eine Config-Datei + eine Template-Datei pro Element"), findest Du hier in der Doku: https://rocksolidthemes.com/de/conta...igene-elemente

  3. #3
    Contao-Fan Avatar von herr rilke
    Registriert seit
    29.01.2011.
    Ort
    Münster
    Beiträge
    401

    Standard gelöst

    alexgr,

    das ist ja wun-der-voll!

    • als idee
    • als lösung
    • als anleitung
    • in der ausführlichkeit


    vielen dank für deine zeit, mich auf den richtigen weg zu bringen!

    das war der weg und die lösung! und mit den seiten IDs kann man mittels inserttags eigentlich abbilden, was das herz begehrt (jedenfalls meine übersichtlich anspruchsvolles ).

    [OT]
    was mir ja so manches mal als idee durch den kopf geht ist eine sammlung von customelements, zu der alle beitragen könnten.
    samt php, html5 und css code.
    custom elements von allen, für alle.

    vielleicht könnte sich ja ein forum admin dafür erwärmen?

    [/OT]

    einstweilen herzliche grüße aus münster

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
  •