Ergebnis 1 bis 3 von 3

Thema: Picker Widget mit Sortierfunktion?

  1. #1
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    549

    Standard Picker Widget mit Sortierfunktion?

    Gibt es eine Möglichkeit den Picker hier:
    https://docs.contao.org/dev/reference/widgets/picker/
    ... mit einer Sortierfunktion zu versehen?

    D.h. so dass der User die Elemente auswählt, und dann auch gleich mit Drag&Drop-Buttons sortieren kann.
    So wie hier markiert:
    Bildschirmfoto 2025-05-01 um 12.54.07.png

    Denke das wäre superpraktisch
    Danke schon mal für eure Tipps!

  2. #2
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.477
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen
    Gibt es eine Möglichkeit den Picker hier:
    https://docs.contao.org/dev/reference/widgets/picker/
    ... mit einer Sortierfunktion zu versehen?

    D.h. so dass der User die Elemente auswählt, und dann auch gleich mit Drag&Drop-Buttons sortieren kann.
    So wie hier markiert:
    Bildschirmfoto 2025-05-01 um 12.54.07.png

    Denke das wäre superpraktisch
    Danke schon mal für eure Tipps!
    eval sortable und multiple? Steht ja in der Doku beschrieben.
    Siehe z.B. das Downloads Element?

  3. #3
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    549

    Standard

    Danke, das hatte ich völlig übersehen

    Funktioniert super, nur die Benutzeroberfläche der Sortierfunktion finde ich nicht ideal.
    Hab daher mit CSS ein paar Anpassungen gemacht.
    Hier ein Screenshot der zeigt was ich geändert habe (links alt, rechts neu):
    sortierung-neu.jpg

    Hier das CSS dazu, vielleicht kann's ja mal wer brauchen:

    Code:
    .widget.custom .tl_help {
    	margin-top: .2rem;
    	
    }
    .widget.custom ul.sortable {
    	margin-top: .35rem;
    	margin-bottom: .5rem;
    	
    }
    .widget.custom .sort_hint {
    	display: none;
    	
    }
    .widget.custom ul.sortable li {
     	border: 1px solid var(--form-border);
    	padding: .35rem .4rem;
    	position: relative;
    	display: block;
    	margin-bottom: .2rem;
    	transition: background-color 0.3s;
    	border-radius: .1rem;
    	
    }
    .widget.custom ul.sortable li:hover {
    	background-color: var(--form-button);
    	
    }
    .widget.custom ul.sortable li:after {
    	content: '';
    	position: absolute;
    	display: block;
    	background-image: url('../../../../../system/themes/flexible/icons/drag.svg');
    	width: 1.1rem;
    	bottom: -1px;
    	top: -1px;
    	right: -1px;
    	background-repeat: no-repeat;
    	background-position: center;
    	background-color: white;
    	border-left: 1px solid var(--form-border);
    }

    So sieht das DCA dazu aus:
    Code:
    $GLOBALS['TL_DCA']['tl_projects']['fields']['staff'] = array(
        'inputType' => 'picker',
        'eval' => [
            'multiple' => true,
            'isSortable' => true,
    		'tl_class'=>'w50 custom'
        ],
        'sql' => [
            'type' => 'blob',
            'length' => MySQLPlatform::LENGTH_LIMIT_BLOB,
            'notnull' => false,
        ],
        'relation' => [
            'type' => 'hasMany',
            'load' => 'lazy',
            'table' => 'tl_staff_employee',
        ],
    );
    Geändert von thesweetg (03.05.2025 um 17:44 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •