Ergebnis 1 bis 13 von 13

Thema: CSS-Files aus Verzeichnis "/contao/templates" laden

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

    Standard CSS-Files aus Verzeichnis "/contao/templates" laden

    Ich hab vor einigen Tagen entdeckt, dass man Rocksolid Custom Elements Templates auch hier ablegen kann:
    /contao/templates

    Dort kann man die Templates auch in Unterverzeichnisse gliedern.
    Also zb. so:
    /contao/templates/hero
    /contao/templates/teaser
    /contao/templates/call-to-action
    /contao/templates/team-member


    Die Tempaltes werden geladen, funktioniert super, sehr ordentlich

    Überglücklich wäre ich nun, wenn man die CSS-Files in den Unterverzeichnissen mit ablegen könnte.
    (Neben der notwendigen config- und der html5-Datei.)
    D.h. die Dateien zu einem RSCE-Inhaltselement würden dann zb. so aussehen:
    /contao/templates/hero/rsce_hero_config.php
    /contao/templates/hero/rsce_hero.html5
    /contao/templates/hero/rsce_hero.css


    Nun das Problem:
    Ich kann diese CSS-Datei im Template fe_page.html5 nicht laden.

    Hätte es mit diesem Snippet versucht:
    PHP-Code:
            $directoryWhereToSearch '../contao/templates/';
            
    $allFiles = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directoryWhereToSearch));
            
    $cssFiles = new RegexIterator($allFiles'/\.css$/i');
            
            foreach (
    $cssFiles as $cssFile) {
                
    $path $cssFile->getPathname();
                            
    $GLOBALS['TL_CSS'][] = substr($path3) .'|static';
            } 
    Contao findet dann jedoch im Frontend die Datei "contao/templates/hero/rsce_hero.css" nicht.
    Ich nehme an das liegt daran, dass man auf das Verzeichnis "/contao/templates/" nicht so einfach zugreifen kann.
    (Da es ja außerhalb von "public" liegt.)
    Kann man hier vielleicht irgendwie mit .htaccess die Rechte ändern?

    Danke für eure Hilfe!

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

    Standard

    Du musst deine CSS Dateien woanders ablegen. Du könntest hier zwar mit Symlinks rumpfuschen - solltest du aber definitiv nicht machen.
    » sponsor me via GitHub or PayPal or Revolut

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

    Standard

    Schade, die drei Dateien in einem Verzeichnis zu haben wäre eine praktische Sache

  4. #4
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    512

    Standard

    Hab (so denke ich) soeben einen Workaround gefunden:

    Die "rsce_hero.html5" mit folgendem ergänzen:

    PHP-Code:
    <?php if (TL_MODE === 'FE') : ?>
        $GLOBALS['TL_CSS'][] = 'contao/templates/hero/rsce_hero.css|static';
        ?>
    <?php endif; ?>

  5. #5
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Worin besteht das Problem, die CSS-Dateien im Seitenlayout als externe CSS-Dateien einzubinden?

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

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

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen
    Hab (so denke ich) soeben einen Workaround gefunden:

    Die "rsce_hero.html5" mit folgendem ergänzen:

    PHP-Code:
    <?php if (TL_MODE === 'FE') : ?>
        $GLOBALS['TL_CSS'][] = 'contao/templates/hero/rsce_hero.css|static';
        ?>
    <?php endif; ?>
    Wird allerdings glaube ich im Debug Modus nicht funktionieren, da Contao die Dateien dort nicht zusammenfasst.



    Zitat Zitat von tschero Beitrag anzeigen
    Worin besteht das Problem, die CSS-Dateien im Seitenlayout als externe CSS-Dateien einzubinden?

    Grüße
    CSS Dateien müssen sich in einem öffentlich zugänglichen Ordner befinden.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wird allerdings glaube ich im Debug Modus nicht funktionieren, da Contao die Dateien dort nicht zusammenfasst.



    CSS Dateien müssen sich in einem öffentlich zugänglichen Ordner befinden.
    Wenn die Dateien im files-Ordner und dort ggf. in einem "auf public gestellten" Unterverzeichnis(z.B. xyz.css) liegen, sollte das doch kein Problem sein. Die können dann doch einfach im Seitenlayout eingebunden werden.
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

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

    Standard

    Zitat Zitat von tschero Beitrag anzeigen
    Wenn die Dateien im files-Ordner und dort ggf. in einem "auf public gestellten" Unterverzeichnis(z.B. xyz.css) liegen, sollte das doch kein Problem sein. Die können dann doch einfach im Seitenlayout eingebunden werden.
    @thesweetg möchte die CSS Dateien in contao/templates/ ablegen, nicht in files/.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    @thesweetg möchte die CSS Dateien in contao/templates/ ablegen, nicht in files/.
    Ja, darauf zielte meine Frage ab:
    https://community.contao.org/de/show...l=1#post584709

    Warum nicht in files?
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

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

    Standard

    Zitat Zitat von tschero Beitrag anzeigen
    Warum nicht in files?
    Ist hier beantwortet
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ist hier beantwortet
    OK
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  12. #12
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    512

    Standard

    Zitat Zitat von tschero Beitrag anzeigen
    Worin besteht das Problem, die CSS-Dateien im Seitenlayout als externe CSS-Dateien einzubinden?

    Grüße
    Ich möchte dass CSS-Dateien automatisch eingebunden werden sobald sie in einem bestimmten Verzeichnis liegen.

    Wenn alle drei Dateien zu einem RSCE-Inhaltselement in einem Verzeichnis liegen, hätte das folgenden Vorteil:
    Ich muss nur einen Ordner kopieren wenn ich das Element in einem anderen Projekt verwenden möchte
    Zudem muss ich dann das zum Element gehörende CSS-File nicht erst immer im Theme-Folder suchen.

    Mein obiger Workaround funktoniert tatsächlich nur wenn '|static' angefügt ist bei der Einbindung.
    ... und das will ich in der lokalen Entwicklungsumgebung nicht.
    D.h. das ist auch keine Lösung

    ... keiner eine Idee wie man das hinkriegen könnte?
    Geändert von thesweetg (22.05.2024 um 12:05 Uhr)

  13. #13
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    512

    Standard

    Gibt's keinen Hook mit dem ich Templates, welche unter files liegen, der Template-Auswahl in Contao hinzufügen kann?

    Falls das ginge, dann könnte ich die diversen RSCE-Inhaltselemente unter files anlegen.
    Bpsw. so:

    /files/my-theme/elements/hero/rsce_hero_config.php
    /files/my-theme/elements/hero/rsce_hero.html5
    /files/my-theme/elements/hero/rsce_hero.css

    /files/my-theme/elements/teaser/rsce_teaser_config.php
    /files/my-theme/elements/teaser/rsce_teaser.html5
    /files/my-theme/elements/teaser/rsce_teaser.css

    etc...




    In Contao 5 geht das mit RSCE-Templates-Subfoldern, oder?
    Sieht das dort dann so aus?
    /templates/content_element/hero/rsce_hero_config.php
    /templates/content_element/hero/rsce_hero.twig
    /templates/content_element/hero/rsce_hero.css
    Geändert von thesweetg (24.05.2024 um 17:08 Uhr)

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
  •