Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Module zum Auswählen

  1. #1
    Contao-Nutzer
    Registriert seit
    07.05.2014.
    Beiträge
    23

    Standard Module zum Auswählen

    Hallo,

    ich möchte als Custom Element - wie das Elementtyp Modul - anbieten, das aber nur bestimmte BE-Module zur Auswahl anbietet.

    Wie kann ich das mit RSCE lösen?

    Danke für eure Hilfe.

  2. #2
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Das müsste man wohl mit einem Callback umsetzen.

    Allerdings versteh ich den Nutzen nicht ganz. Weil du gibt dem Benutzer/Benutzergruppe ja die Freigabe/Rechte für Module die er benutzen kann.
    Und somit erscheinen in seiner Element-Auswahl auch nur diese Module.

    Warum soll er ein RSCE auswählen und darin dann nochmal eine Auswahl treffen?
    Könnte der Benutzer doch direkt das gewollte Modul auswählen?

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

    Standard

    PHP-Code:
    <?php

    use Contao\System;
    use 
    Doctrine\DBAL\Connection;

    return [
        
    'label' => ['Example''Example custom element'],
        
    'types' => ['content'],
        
    'contentCategory' => 'My custom elements',
        
    'standardFields' => ['cssID'],
        
    'wrapper' => ['type' => 'none'],
        
    'fields' => [
            
    'module' => [
                
    'inputType' => 'standardField',
                
    'options_callback' => function() {
                    
    $options = [];

                    
    // Define allowed module types here
                    
    $types = ['navigation''customnav''breadcrumb'];

                    
    /** @var Connection $db */
                    
    $db System::getContainer()->get('database_connection');

                    
    $modules $db->fetchAllAssociative(
                        
    "SELECT m.id, m.name, t.name AS theme FROM tl_module m LEFT JOIN tl_theme t ON m.pid=t.id WHERE m.type IN (?) ORDER BY t.name, m.name",
                        [
    $types], [Connection::PARAM_STR_ARRAY]
                    );

                    foreach (
    $modules as $module) {
                        
    $options[$module['theme']][$module['id']] = $module['name'].' (ID '.$module['id'].')';
                    }

                    return 
    $options;
                }
            ],
        ],
    ];
    Bitteschön


    Die Zeile
    PHP-Code:
    // Define allowed module types here
    $types = ['navigation''customnav''breadcrumb']; 
    einfach entsprechend ändern.
    » sponsor me via GitHub or PayPal or Revolut

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
  •