Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Contao Data Attributes (tl_content.php)

  1. #1
    Contao-Nutzer
    Registriert seit
    03.12.2014.
    Beiträge
    9

    Standard Contao Data Attributes (tl_content.php)

    Hallo liebe Contao-Gemeinde,

    ich verwende die Erweiterung "contao-data-attributes-bundle" um Attribute für Artikel und Inhaltselemente zu generieren.

    Bislang funktioniert das sehr gut für alle Artikel und für eine ganze Reihe von Inhaltselementen. Nun verwende ich aber zusätzliche Erweiterungen wie z.B. "RockSolid Slider", hier werden die Felder des "contao-data-attributes-bundle" leider ausgeblendet und somit ist die Zuweisung von Attributen nicht möglich.

    Dies funktionierte jedoch in einigen früheren Versionen unter Contao (4.11.*), RockSolid Slider (2.0.*) und Contao Data Attributes Bundle (1.0.0).

    PHP-Code:
    <?php

    foreach ($GLOBALS['TL_DCA']['tl_content']['palettes'] as $k => $palette)
    {

        if (!
    is_array($palette) && strpos($palette"cssID") !== false)
        {
            
    $GLOBALS['TL_DCA']['tl_content']['palettes'][$k] = str_replace
            
    (
                
    '{invisible_legend',
                
    '{jo_data-attributes_legend},joDataAttributes,joDataAttributesDisableAutomatic;{invisible_legend',
                
    $GLOBALS['TL_DCA']['tl_content']['palettes'][$k]
            );
        }

    }

    $GLOBALS['TL_DCA']['tl_content']['fields']['joDataAttributes'] = [
        
    'label'                   => &$GLOBALS['TL_LANG']['tl_content']['joDataAttributes'],
        
    'inputType'               => 'keyValueWizard',
        
    'exclude'                 => true,
        
    'sql'                     => "text NULL"
    ];

    $GLOBALS['TL_DCA']['tl_content']['fields']['joDataAttributesDisableAutomatic'] = [
        
    'label'                   => &$GLOBALS['TL_LANG']['tl_content']['joDataAttributesDisableAutomatic'],
        
    'exclude'                 => true,
        
    'inputType'               => 'checkbox',
        
    'eval'                    => array('submitOnChange'=>false'tl_class'=>'clr m12'),
        
    'sql'                     => "char(1) NOT NULL default ''"
    ];
    Meine aktuelle Konfiguration ist: Contao (4.13.12), RockSolid Slider (2.2.2) und Contao Data Attributes Bundle (1.0.0).

    Ich habe eine temporäre Lösung, indem ich die tl_config.php des RockSolid Sliders bearbeitet habe, ich suche jedoch nach einer adäquateren Lösung, die die Updatefähigkeit des Sliders nicht verletzt.

    Für Anregungen und Vorschläge wäre ich sehr dankbar, beste Grüße.

  2. #2
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    257

    Standard

    Sollte eigentlich so klappen wenn du dein Snippet in der Datei 'contao/dca/tl_content.php' ablegst.
    Die beiden Ordner musst du ggf. erst erstellen und anschließend evl. den Cache neu aufbauen.

  3. #3
    Contao-Nutzer
    Registriert seit
    03.12.2014.
    Beiträge
    9

    Standard

    Leider funktioniert das nicht in Kombination mit dem Slider , die Daten-Attribute werden bei diesem Inhaltselement nicht geladen.
    Evtl. wird es vom RockSolid Slider überschrieben?

    Hier ist ein Auszug aus der 'contao-rocksolid-slider/src/Resources/contao/dca/tl_content.php':

    PHP-Code:
    ...
    use 
    Contao\BackendUser;
    use 
    Contao\Input;
    use 
    Contao\System;
    use 
    Symfony\Component\HttpFoundation\Request;

    if (
    System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest(System::getContainer()->get('request_stack')->getCurrentRequest() ?? Request::create(''))) {

        
    // Dynamically add the parent table
        
    if (Input::get('do') == 'rocksolid_slider') {
            
    $GLOBALS['TL_DCA']['tl_content']['config']['ptable'] = 'tl_rocksolid_slide';
            
    $GLOBALS['TL_DCA']['tl_content']['list']['sorting']['header_callback'] = array('MadeYourDay\\RockSolidSlider\\Slider''headerCallbackContent');
        }

        
    // Load module language file
        
    $this->loadLanguageFile('tl_module');

    }
    ... 

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
  •