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
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
Schau mal bei new-bundle rein. Da wird auch eine CSS-Datei geladen.
https://github.com/contao/news-bundl...ig.php#L50-L53
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
auf.PHP-Code:
if (TL_MODE == 'BE')
{
$GLOBALS['TL_CSS'][] = '/be.css|screen';
}
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
Ist der Ordner denn auch freigegeben?
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 ***
Genau. Der Ordner muss freigegeben werden.
system/config/initconfig.php
Hier mal ne CSS zum Spielen. Etwas größere Icons. "Mehrere bearbeiten" Patch. Speicherbuttons Positionierung. Limit-Toggler Accessibility.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';
}
PHP-Code:
/* CSS */
html {
overflow-y: scroll;
}
/* Save buttons */
.tl_formbody_submit {
position: fixed;
top: 48px;
right: 0;
}
/* Limit toggler */
.limit_toggler {
width: 80px;
left: 0;
right: 0;
margin: 0 auto;
background: rgba(0, 0, 0, 0); /* reset */
bottom: auto; /* reset */
top: 46px;
}
.hover-div:hover .limit_toggler,
.hover-row:hover .limit_toggler {
background-color: rgba(255, 252, 225, .2) !important;
}
.limit_toggler button {
background: transparent; /* reset */
width: 100%;
display: block;
}
.limit_toggler button span {
display: block;
top: auto; /* reset */
font-size: 30px;
height: 30px;
line-height: 17px;
}
/* Filter buttons */
.tl_submit_panel {
min-width: 72px;
}
.filter_apply,
.filter_reset {
background-size: 24px;
}
button:hover {
filter: drop-shadow(2px 2px 2px rgba(0,0,0,.5)) saturate(200%);
}
.tl_img_submit {
width: 36px;
height: 36px;
top: 0;
}
/* Icons */
.tl_right a img,
.tl_right_nowrap a img,
.tl_content_right a img {
width: 20px;
height: auto;
}
.tl_right a img:hover,
.tl_right_nowrap a img:hover,
.tl_content_right a img:hover {
filter: drop-shadow(2px 2px 2px rgba(0,0,0,.5)) saturate(200%);
}
// Multi edit patch
.subpal {
width: auto;
float: none;
}
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
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 ***
Ja ist neu in der 4er.
Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
Unterstütze bitte das Contao-Projekt (Button Links)
Weitere Spendenmöglichkeiten
------------------------------------------------------------------------------------------------------
Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
Contao-Online-Video-Kurse: Contao Academy
Funktionalität erweitern: Contao-Erweiterungen
Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
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
Sponsering: Amazon Wunschliste :: Github :: PayPal
Composer Version prüfen https://jubianchi.github.io/semver-check
Direkt aus files heraus geht m.E. auch nicht, weil Du ja nicht files sondern nur Unterordner von files freigeben kannst.
Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
Unterstütze bitte das Contao-Projekt (Button Links)
Weitere Spendenmöglichkeiten
------------------------------------------------------------------------------------------------------
Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
Contao-Online-Video-Kurse: Contao Academy
Funktionalität erweitern: Contao-Erweiterungen
Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
Ja, kann nicht funktionieren, weil das web/files Verzeichnis kein Symlink ist und natürlich auch nicht sein darf.
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
Kann man vielleicht noch machen, funktioniert vielleicht auch, ist aber deprecated.
https://de.contaowiki.org/Ordner_und...initconfig.php
Da wäre ich jetzt auch überfragt. initconfig.php ist natürlich einfacher.... app-bundle bauen und saubere services.
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
Unter Contao 4.X habe ich es so:
Am Webspace in /app/Resouces/contao/config/ eine config.php mit diesem Inhalt:
(Pfadangabe nach euren Wünschen anpassen)PHP-Code:
<?php
/** Modifziertes BE CSS */
if ('BE' === TL_MODE) {
$GLOBALS['TL_CSS'][] = '/files/theme-x/css/backend.css';
}
Danach musste ich im Contao-Manager beim Punkt "Systemwartung" einmal den "Prod-Cache leeren". Danach hat er das Stylesheet im Backend gefunden und gezogen.
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:
Hier wird auch noch unterschieden ob Admin oder nicht.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">';
}
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.
Edit: Eine weitere Möglichkeit wäre:
Das Template be_main.html unter /templates/ ablegen (gleich direkt im root).
Dort kann man abfragen, ob der User ein Admin ist oder nicht und die class im Body einfügen:
PHP-Code:
<?php
$objUser = BackendUser::getInstance();
if ($objUser->isAdmin) {
$userClass = "isAdmin";
} else {
$userClass = "isNotAdmin";
}
?>
<body id="top" class="<?php echo $userClass; ?> <?= $this->ua ?><?php if ($this->isPopup): ?> popup<?php endif; ?>">
......
lg
Geändert von heyho (26.04.2020 um 10:16 Uhr)
Wieso verwendest du für Stylesheets das Array für mootools?
Grüße
Alex
... 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
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:
Nichtsdestotrotz sollte es funktionieren, da es alleinstehend auch tut.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';
}
}
ToM
Hallo,
ich hatte keine Version 4.4.x installiert, vermute aber, das sich die Abfrage geringfügig geändert hat. Schau mal: click
ToM
@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.
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
Ein Fehler kann auch sein, dass das Verzeichnis mit den Files in der Dateiverwaltung nicht öffentlich gesetzt wurden.
Hallo zusammen,
ich habe bisher immer über die Datei system/config/initconfig.php eine CSS-Datei files/_framework/cbe/cbe.css eingebunden.
Meine initconfig.php sah bisher so aus:
Jetzt wollte ich das unter Contao 4.9.2 "etwas moderner" mit der oben beschriebenen Methode mit der config-Datei unter app/Recources/contao/config/config.php probieren. Das hat aber nicht funktioniert. Und da es ja seit neuestem (weiß nicht mehr genau seit welcher Version) das Verzeichnis /app nicht mehr zwingend geben muss, habe ich auch Rescources/contao/config/config.php getestet.PHP-Code:
<?php
if(TL_MODE == 'BE')
{
$GLOBALS['TL_CSS'][] = 'files/_framework/cbe/cbe.css';
}
Beides klappt ebenfalls nicht.
Ich habe irgendwie die Überblick verloren, welche Verzeichnisse und Config-Dateien nun an welcher Stelle stehen müssen und welche Config-Dateien die Aufgaben von älteren Config-Dateien übernommen haben.
An welcher Stelle binde ich nun am besten eine CSS-Datei für das Backend ein? Wichtig ist dabei, dass sie schon auf dem Login-Screen greift, weil ich auch dort schon etwas modifiziert habe (ich gebe per CSS meine Support-Kontakt-Daten unter dem Login-Formular aus) und deshalb auch keine Abfrage nach der Art des Benutzers brauche.
Vielen Dank und viele Grüße
Timo
Tu einfach den Code in eine config.php, diese kommt dann in folgende Verzeichnisstruktur: /contao/config/config.php
Danach Cache neu aufbauen, fertig.
ToM
Die Frage hat sich erledigt... ich habe im Root-Verzeichnis das Verzeichnis contao angelegt.
Die Datei config.php, welche die CSS-Datei einbindet, liegt also unter
/contao/config/config.php
Damit funktioniert es.
Weitere Frage: Gibt es eine Möglichkeit, dem Body der Login-Seite (und der Login-Two-Factor-Seite) eine Klasse mitzugeben, ohne die in den Templates be_login.html5 und be_login_twofactor.html5 eintragen zu müssen?
Vielen Dank, Timo
Danke, @Nightwing.
Habs gerade selbst rausgefunden...
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen