MetaModels Workshop in Berlin
Ergebnis 1 bis 6 von 6

Thema: Stylesheet-Einbindung unterbinden

  1. #1
    Haupt-Administratorin der Contao-Foren
    Buchautorin 'Contao für Redakteure'
    Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Mecklenburg-Vorpommern
    Beiträge
    4.727
    Partner-ID
    11474
    User beschenken
    Wunschliste

    Standard Stylesheet-Einbindung unterbinden

    Die Subcolumns-Erweiterung lädt automatisch ihr CSS-File in den Header, wenn Subcolumns auf der Seite eingesetzt werden:
    <link rel="stylesheet" href="system/modules/Subcolumns/assets/yaml3/subcols.css">

    Kann ich das irgendwie (aber nur für diese Erweiterung) ausschalten? Ich setze nämlich eine stark modifizierte Version dieses Stylesheets sowieso fix im Layout ein und finde es etwas nervig, dass ich so dazu gezwungen werde 2x Styles zu laden und zudem in meinem eigenen Stylesheet auch noch jeweils darauf zu achten, dass ich die Anweisungen aus dem ersten Style überschreibe, damit meine Einstellungen wirken können.

    Wäre für Tipps sehr dankbar

  2. #2
    Contao-Urgestein
    Registriert seit
    22.10.2013.
    Beiträge
    7.888
    User beschenken
    Wunschliste

    Standard

    Notfalls könnte man doch einfach das subcols.css modifizieren (z.B. leer machen). Ok, besonders schön und updatesicher ist das natürlich nicht.

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    20.569
    User beschenken
    Wunschliste

    Standard

    Die CSS files für Subcolumns sind praktischerweise im $GLOBALS array festgehalten. Sieh dir mal die Subcolumns/config/config.php an und versuche zum Beispiel in deiner dcaconfig.php folgendes einzufügen:
    PHP-Code:
    $GLOBALS['TL_SUBCL']['yaml3']['files'] = array(
        
    'css' => 'files/foo/css/subcols.css',
        
    'ie'  => 'files/foo/css/subcolsIEHacks.css'
    ); 
    yaml3 musst du mit dem Set, dass du verwendest, ersetzen. Oder du ersetzt es vorsichtshalber für alle Sets, zB mit
    PHP-Code:
    foreach( $GLOBALS['TL_SUBCL'] as &$set )
    {
        
    $set['files'] = array(
            
    'css' => 'files/foo/css/subcols.css',
            
    'ie'  => 'files/foo/css/subcolsIEHacks.css'
        
    );

    (ungetestet), je nach dem wie du es benötigst .
    Geändert von Spooky (09.04.2014 um 08:56 Uhr)

  4. #4
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    155
    Partner-ID
    7698

    Standard

    Hallo zusammen,

    Danke für den Hinweis auf die dcaconf.

    Auf http://ck2013.may17.de/javascript-einbinden.html steht, das man JS Dateien wie folgt zusammen fassen kann.

    // Kann durch den Zusatz |static der zusammengefassten Javascript Datei im Kopf hinzugefügt.
    $GLOBALS['TL_JAVASCRIPT'][] = 'pfad/zu/meiner/datei/meine_javascript_datei.js|static';

    Hier die Anpassung, um die css subcols Dateien mit allen CSS Dateien auszugeben.

    Code:
    $GLOBALS['TL_SUBCL']['yaml3']['files'] = array(
                'css'        => 'files/xxx/css/subcols.css||static',
                'ie'        => 'files/xxx/css/subcolsIEHacks.css'
    );
    Hintergrund ist, die Optimierung um nur einen Aufruf einer CSS Datei in Sachen Page speed.


    Viele Grüße

    Markus
    Geändert von mschindler (15.07.2014 um 16:02 Uhr)

  5. #5
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    155
    Partner-ID
    7698

    Fehler Änderung nur möglich wenn Internen Cache umgehen an

    Hallo zusammen,
    Ich muss das Thema noch mal aufgreifen, da der Weg über die dacaconfig.php scheinbar nur funktioniert, wenn in den Contao Einstellungen der "Internen Cache umgehen" angehakt ist.
    Der Cache ist global in den Einstellungen und im Seitenbaum deaktiviert.

    Die folgende Möglichkeit funktioniert nur wenn der "Internen Cache umgehen" angehakt ist.

    Code:
    foreach( $GLOBALS['TL_SUBCL'] as &$set ) 
    { 
        $set['files'] = array( 
            'css' => 'files/MEINORDNER/css/subcols.css', 
            'ie'  => 'files/MEINORDNER/css/subcolsIEHacks.css' 
        ); 
    } 
    
    So bald ich den "Internen Cache umgehen" abwähle wird der neu Pfad genommen. Auch ein ||static hinter der .css funktioniert, um subcol mit den anderen CSS Dateien zusammen auszugeben.

    Zum Einsatz kommt local ein XAMPP mit Contao 3.2.16. Aktuelle Version subcolumns (2.1.1) Cache gelöscht und neu aufgebaut. Alles schon versucht.

    EDIT:
    Habe den Code in die initconf.php ausgelagert, nun geht es.



    Ich würde gerne die subcols.css über das Layout zusammen mit den anderen CSS Dateien ausliefern. Die subcols.css liegt bei mir mit den anderen in /filles/MEINORDNER/...



    Viele Grüße

    Markus
    Geändert von mschindler (18.06.2015 um 13:32 Uhr)

  6. #6
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.117
    User beschenken
    Wunschliste

    Standard

    Hast du den Cache denn mal geleert? Ansonsten kann es sein, das beim Activ schalten ja wieder die alten Dateien genommen werden.

    Viele Grüße

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
  •