Contao Konferenz & College 2019 in Duisburg - JETZT TICKET SICHERN!
Ergebnis 1 bis 27 von 27

Thema: Stylesheet für Backend-Theme ergänzen

  1. #1
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    574
    User beschenken
    Wunschliste

    Standard Stylesheet für Backend-Theme ergänzen

    Moin,

    bei der v3.5.x konnte man ja auf diese Art ein eigenes CSS für das Backend einbinden. In der 4.4.2 will mir das nun nicht mehr gelingen.
    Kennt jemand eine entsprechende Lösung?

    Danke,
    Stefko

  2. #2
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    507

    Standard

    Schau mal bei new-bundle rein. Da wird auch eine CSS-Datei geladen.

    https://github.com/contao/news-bundl...ig.php#L50-L53

  3. #3
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    574
    User beschenken
    Wunschliste

    Standard

    Hi,

    Zitat Zitat von 07alex07 Beitrag anzeigen
    Schau mal bei new-bundle rein. Da wird auch eine CSS-Datei geladen.
    https://github.com/contao/news-bundl...ig.php#L50-L53
    ok, der Aufruf an sich, geschieht dort ja genauso wie bei mir, das CSS-File befindet sich lediglich in einem anderen Ordner.
    Ich habe meine be.css jetzt mal testhalber aus dem Files-Ordner nach /web verschoben und rufe sie mit
    PHP-Code:
    if (TL_MODE == 'BE')
    {
        
    $GLOBALS['TL_CSS'][] = '/be.css|screen';

    auf.
    Und siehe da, so klappt es!
    Nur hat, meiner bescheidenen Meinung nach, die Datei dort nichts verloren und gehört doch eigentlich in den files/ Ordner (bzw. dort in einen Unterordner).
    Jetzt die Masterfrage, wie bekomme ich die Datei dort angesprochen?

    Grüße,
    Stefko

  4. #4
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.323
    Partner-ID
    1081
    User beschenken
    Wunschliste

    Standard

    Ist der Ordner denn auch freigegeben?

  5. #5
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    574
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von do_while Beitrag anzeigen
    Ist der Ordner denn auch freigegeben?
    Was meinst Du mit freigegeben? Rechte stehen auf 705.
    Muss da nochmal etwas (4.4) speziell freigegeben werden?
    Grüße,
    Stefko

  6. #6
    Contao-Fan Avatar von jscholtysik
    Registriert seit
    19.06.2009.
    Ort
    München
    Beiträge
    319

    Standard

    Ja, der Ordner muss explizit freigegeben werden:

    Bildschirmfoto 2017-08-08 um 14.00.55.png

    Schau mal in der Dateiverwaltung, ob der Haken auch gesetzt ist.
    Joachim
    *** Kein Backup, kein Mitleid ***

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.615
    User beschenken
    Wunschliste

    Standard

    Genau. Der Ordner muss freigegeben werden.

    system/config/initconfig.php
    PHP-Code:
    <?php

    /** Some extra BE CSS and JS */
    if(TL_MODE == 'BE')
    {
      
    $GLOBALS['TL_CSS'][]        = 'files/css/_my_be.css';
      
    $GLOBALS['TL_JAVASCRIPT'][] = 'files/js/_my_be.js';
    }
    Hier mal ne CSS zum Spielen. Etwas größere Icons. "Mehrere bearbeiten" Patch. Speicherbuttons Positionierung. Limit-Toggler Accessibility.
    PHP-Code:
    /* CSS */

    html {
      
    overflow-yscroll;
    }
    /* Save buttons */
    .tl_formbody_submit {
      
    positionfixed;
      
    top48px;
      
    right0;
    }
    /* Limit toggler */
    .limit_toggler {
      
    width80px;
      
    left0;
      
    right0;
      
    margin0 auto;
      
    backgroundrgba(0000); /* reset */
      
    bottomauto/* reset */
      
    top46px;
    }
    .
    hover-div:hover .limit_toggler,
    .
    hover-row:hover .limit_toggler {
      
    background-colorrgba(255252225.2) !important;
    }
    .
    limit_toggler button {
      
    backgroundtransparent/* reset */
      
    width100%;
      
    displayblock;
    }
    .
    limit_toggler button span {
      
    displayblock;
      
    topauto/* reset */
      
    font-size30px;
      
    height30px;
      
    line-height17px;
    }
    /* Filter buttons */
    .tl_submit_panel {
      
    min-width72px;
    }
    .
    filter_apply,
    .
    filter_reset {
      
    background-size24px;
    }
    button:hover {
      
    filterdrop-shadow(2px 2px 2px rgba(0,0,0,.5)) saturate(200%);
    }
    .
    tl_img_submit {
      
    width36px;
      
    height36px;
      
    top0;
    }
    /* Icons */
    .tl_right a img,
    .
    tl_right_nowrap a img,
    .
    tl_content_right a img {
      
    width20px;
      
    heightauto;
    }
    .
    tl_right a img:hover,
    .
    tl_right_nowrap a img:hover,
    .
    tl_content_right a img:hover {
      
    filterdrop-shadow(2px 2px 2px rgba(0,0,0,.5)) saturate(200%);
    }
    // Multi edit patch
    .subpal {
      
    widthauto;
      
    floatnone;

    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    574
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von jscholtysik Beitrag anzeigen
    Ja, der Ordner muss explizit freigegeben werden:
    Schau mal in der Dateiverwaltung, ob der Haken auch gesetzt ist.
    Ahhhhh, jetzt ja!
    Danke Dir, das ist auch neu in der 4er, oder? (zumindest habe ich da früher nie einen Haken gesetzt)

    @Andreas: Die auch Danke. Das CSS probiere ich nachher mal aus.

  9. #9
    Contao-Fan Avatar von jscholtysik
    Registriert seit
    19.06.2009.
    Ort
    München
    Beiträge
    319

    Standard

    Das ist seit Contao 4 so, in Contao 3 waren erst mal alle Ordner freigegeben und mussten bei Bedarf gesperrt werden. Bei Contao 4 ist es nun andersherum. Erst mal alles gesperrt und bei Bedarf freigeben.
    Joachim
    *** Kein Backup, kein Mitleid ***

  10. #10
    Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    4.058
    Partner-ID
    7421

    Standard

    Ja ist neu in der 4er.
    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
    Immer dran denken: Contao-Check zum Testen der Servervoraussetzungen (Contao 2, Contao 3 und Contao 4) und zum Prüfen einer bestehenden Installation (bis Contao 3.5)

  11. #11
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    1.858
    User beschenken
    Wunschliste

    Standard

    Ich hab meine Erweiterung [BackendCustomCss] für Contao 4.4 freigegeben: https://github.com/cliffparnitzky/BackendCustomCss

    Ein CSS Datei direkt in "files" konnte ich auch nicht laden. Aber aus einem Unterordner heraus war es dann möglich.
    Extensions :: Github :: Kein Support per PM.
    Bedenke stets: die Behebung eines Fehlers beginnt bei der Erklärung des Problems !!!
    Wenn ich dir helfen konnte freue ich mich immer über ein Dankeschön von meiner Amazon Wunschliste .

  12. #12
    Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    4.058
    Partner-ID
    7421

    Standard

    Direkt aus files heraus geht m.E. auch nicht, weil Du ja nicht files sondern nur Unterordner von files freigeben kannst.
    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
    Immer dran denken: Contao-Check zum Testen der Servervoraussetzungen (Contao 2, Contao 3 und Contao 4) und zum Prüfen einer bestehenden Installation (bis Contao 3.5)

  13. #13
    Contao-Urgestein
    Registriert seit
    22.10.2013.
    Beiträge
    7.992
    User beschenken
    Wunschliste

    Standard

    Ja, kann nicht funktionieren, weil das web/files Verzeichnis kein Symlink ist und natürlich auch nicht sein darf.

  14. #14
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.615
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von cliffen Beitrag anzeigen
    Ich hab meine Erweiterung [BackendCustomCss] für Contao 4.4 freigegeben: https://github.com/cliffparnitzky/BackendCustomCss
    Hey, das sieht ja klasse aus. Wenn du möchtest, kannst du die einzelnen Parts von meiner CSS als Templates anbieten. Sind vielleicht nicht 100%ig ausgearbeitet, aber könnten ja auch als Ansatz dienen. Ich hatte diese CSS ursprünglich mit Stylish https://addons.mozilla.org/de/firefox/addon/stylish/ auf alle meine Installationen aufgesetzt.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  15. #15
    Contao-Nutzer
    Registriert seit
    10.02.2012.
    Ort
    Basel
    Beiträge
    209
    Partner-ID
    8602

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Hi,



    ok, der Aufruf an sich, geschieht dort ja genauso wie bei mir, das CSS-File befindet sich lediglich in einem anderen Ordner.
    Ich habe meine be.css jetzt mal testhalber aus dem Files-Ordner nach /web verschoben und rufe sie mit
    PHP-Code:
    if (TL_MODE == 'BE')
    {
        
    $GLOBALS['TL_CSS'][] = '/be.css|screen';

    auf.
    Und siehe da, so klappt es!
    Nur hat, meiner bescheidenen Meinung nach, die Datei dort nichts verloren und gehört doch eigentlich in den files/ Ordner (bzw. dort in einen Unterordner).
    Jetzt die Masterfrage, wie bekomme ich die Datei dort angesprochen?

    Grüße,
    Stefko
    Frage: Wo hast du obigen PHP-Code hingeschrieben? Hast du ein Bundle geschrieben oder geht das auch einfacher?

  16. #16
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    574
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Webbaumeister Beitrag anzeigen
    Frage: Wo hast du obigen PHP-Code hingeschrieben? Hast du ein Bundle geschrieben oder geht das auch einfacher?
    Das kommt in die system/config/initconfig.php (falls die Datei nicht existiert, einfach anlegen)
    Grüße, Stefko

  17. #17
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.615
    User beschenken
    Wunschliste

    Standard

    Kann man vielleicht noch machen, funktioniert vielleicht auch, ist aber deprecated.
    https://de.contaowiki.org/Ordner_und...initconfig.php
    ... app-bundle bauen und saubere services.
    Da wäre ich jetzt auch überfragt. initconfig.php ist natürlich einfacher.

    Müsste auch über diesen Ordner gehen
    app/Resources/contao/config/initconfig.php

    Oder hole dir diese kleine Erweiterung http://public.andreasburg.de/contao/z_listviews.zip und passe sie für dich an, die holt ne CSS und ne JS Datei ins BE und macht noch ein paar DCA-Anpassungen an tl_article und tl_page. Den Ordner dca/ kannst du löschen, wenn du diese Anpassungen nicht benötigst. Nach dem Upload nach system/modules/ müssen noch die Symlinks erstellt werden, sonst können die Ressourcen aus assets nicht geladen werden. Das macht man glaube ich mit dem Contao Manager, obwohl im BE auch eine Option ist die Symlinks neu zu erstellen, aber das funktioniert glaube ich nicht.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  18. #18
    Contao-Nutzer
    Registriert seit
    28.03.2019.
    Beiträge
    3

    Standard

    Unter Contao 4.X habe ich es so:

    Am Webspace in /app/Resouces/contao/config/ eine config.php mit diesem Inhalt:

    PHP-Code:
    <?php
    /** Modifziertes BE CSS */ 
    if ('BE' === TL_MODE) { 
        
    $GLOBALS['TL_CSS'][] = '/files/theme-x/css/backend.css'
    }
    (Pfadangabe nach euren Wünschen anpassen)

    Danach musste ich im Contao-Manager beim Punkt "Systemwartung" einmal den "Prod-Cache leeren". Danach hat er das Stylesheet im Backend gefunden und gezogen.

  19. #19
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    146

    Standard

    Erfolgreich getestet in Contao 4.7

    in eines der Files (ersteres möglicherweise selbst erstellen)

    /app/Resources/contao/config/config.php
    oder
    /system/config/initconfig.php

    wird nachfolgender Code eingefügt:

    PHP-Code:
    if (TL_MODE == 'BE')
    {
        
    $objUser = \BackendUser::getInstance();
        
        if (!
    $objUser->isAdmin)
            
    $GLOBALS['TL_MOOTOOLS'][] = '<link rel="stylesheet" href="/files/design/backend/backendLayoutRedakteur.css">';
        else
            
    $GLOBALS['TL_MOOTOOLS'][] = '<link rel="stylesheet" href="/files/design/backend/backendLayoutAdmin.css">';    

    Hier wird auch noch unterschieden ob Admin oder nicht.

    Ich hatte das Script zuerst im config.php eines eigenen Modules.
    Dabei kam es allerdings zu Problemen mit einem anderen Modul. Grund war \BackendUser::getInstance();
    Warum kann ich nicht sagen, scheinbar darf im Config-File keine Instanz des BackendUsers erstellt werden.

    lg

  20. #20
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    507

    Standard

    Wieso verwendest du für Stylesheets das Array für mootools?
    Grüße
    Alex

  21. #21
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    146

    Standard

    ... ich brauchte damals noch Javascript im Backend das mit $GLOBALS['TL_HEAD'][] ja nicht funktioniert (alternativ fürs Backend $GLOBALS['TL_MOOTOOLS'][]).

    Mit $GLOBALS['TL_CSS'][] sollte es natürlich auch möglich sein.

    lg

  22. #22
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    253

    Standard

    Gute Idee, heyho!
    Danke vielmals, brauch ich sicherlich noch.

    Wie 07Alex07 erwähnte, es geht auch per CSS / JS, wobei JS explizit in dem Script nicht getestet ist:

    PHP-Code:
    <?php

    if (TL_MODE == 'BE')
    {
        
    $objUser = \BackendUser::getInstance();
        
        if (!
    $objUser->isAdmin)
        {
            
    $GLOBALS['TL_CSS'][] = 'files/layout/css/backendLayoutRedakteur.css';
            
    $GLOBALS['TL_JAVASCRIPT'][] = 'files/layout/js/backendLayoutRedakteur.js';
        }
        else
        {
            
    $GLOBALS['TL_CSS'][] = 'files/layout/css/backendLayoutAdmin.css';    
            
    $GLOBALS['TL_JAVASCRIPT'][] = 'files/layout/js/backendLayoutAdmin.js';
        }
    }
    Nichtsdestotrotz sollte es funktionieren, da es alleinstehend auch tut.

    ToM
    Mein kleiner Contao Spielplatz - Status: Portierung von 2.11.17 auf 4.8.x in Arbyte... Fertsch Noi, erst kurz vor Stuttgart 21 ganz fertig

  23. #23
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    116

    Standard

    Zitat Zitat von Nightwing Beitrag anzeigen
    Gute Idee, heyho!
    Danke vielmals, brauch ich sicherlich noch.

    Wie 07Alex07 erwähnte, es geht auch per CSS / JS, wobei JS explizit in dem Script nicht getestet ist:

    PHP-Code:
    <?php

    if (TL_MODE == 'BE')
    {
        
    $objUser = \BackendUser::getInstance();
        
        if (!
    $objUser->isAdmin)
        {
            
    $GLOBALS['TL_CSS'][] = 'files/layout/css/backendLayoutRedakteur.css';
            
    $GLOBALS['TL_JAVASCRIPT'][] = 'files/layout/js/backendLayoutRedakteur.js';
        }
        else
        {
            
    $GLOBALS['TL_CSS'][] = 'files/layout/css/backendLayoutAdmin.css';    
            
    $GLOBALS['TL_JAVASCRIPT'][] = 'files/layout/js/backendLayoutAdmin.js';
        }
    }
    Nichtsdestotrotz sollte es funktionieren, da es alleinstehend auch tut.

    ToM
    Was genau mache ich denn falsch, wenn mir
    PHP-Code:
    $objUser->isAdmin 
    oder
    PHP-Code:
    $objUser->username 
    jeweils NULL liefert in der initconfig.php mit Contao 4.4.43? (Natürlich angemeldet)
    Geändert von typomat (11.09.2019 um 16:27 Uhr)

  24. #24
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    253

    Standard

    Hallo,

    ich hatte keine Version 4.4.x installiert, vermute aber, das sich die Abfrage geringfügig geändert hat. Schau mal: click

    ToM
    Mein kleiner Contao Spielplatz - Status: Portierung von 2.11.17 auf 4.8.x in Arbyte... Fertsch Noi, erst kurz vor Stuttgart 21 ganz fertig

  25. #25
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    146

    Standard

    @typomat
    Du machst hier nix falsch, habs eben in einer Contao 4.4.4 getestet. Funktioniert bei mir im initconfig.php und auch in einem Modul config.php File.

    Probier mal /app/Resources/contao/config/config.php
    Evtl. Cache leeren.

    Wie oben schon beschrieben hatte ich aber in einer Contao 4.7er Version Probleme wenn die BackendUser Instanz in einem Modul config.php File aufgerufen wurde.
    Das Problem war hier auch dass nur NULL zurück kam - passierte im Zusammenhang mit dem Modul ce_access (vermutlich).
    Dort musste ich es von Modul in die initconfig.php verschieben.

  26. #26
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    116

    Standard

    Zitat Zitat von Nightwing Beitrag anzeigen
    Hallo,

    ich hatte keine Version 4.4.x installiert, vermute aber, das sich die Abfrage geringfügig geändert hat. Schau mal: click

    ToM
    Danke für die Antwort, aber das war auch für C3.5 und hat nicht funktioniert.

    Hier habe ich die Lösung gefunden:
    https://community.contao.org/de/show...l=1#post372144

  27. #27
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    146

    Standard

    Ein Fehler kann auch sein, dass das Verzeichnis mit den Files in der Dateiverwaltung nicht öffentlich gesetzt wurden.

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
  •