Style Theme Override - ajout fichier css au theme

Puisque mes commits ne passent pas je le partage sur le forum…
Pour ajouter vos propres fichiers css au theme activé mettez les dans le dossier css(il faut le créer) de votre theme (par exemple theme/eldy/css/custom.css)
Allez à la ligne 1209 du fichier main.inc.php et ajoutez ce bout de code :

Comme ça vous ne perdez plus vos relook après chaque mise à jour!
le fichier serait aussi chargé dans le header de la page de connexion et dans toutes les modules

le même principe peut être adopter pour les modules (des fichiers css à ajouter dans un dossier /modulename/style/css/ par exemple)
pareil pour javascript…

Une version plus simplifiée

// Check if the /theme/nameoftheme/css folder exists and Add the contains css files to head if (file_exists(dirname(dol_buildpath($conf->css, 0))."/css")) { //browse the css dir and add the contains css files if ($handle = opendir(dirname(dol_buildpath($conf->css, 0))."/css")) { while (false !== ($entry = readdir($handle))) { list($filename, $extension) = explode(".", $entry); if ($entry !== '.' && $entry !== '..' && $extension == 'css') { print '<link rel="stylesheet" type="text/css" href="'.dirname(dol_buildpath($conf->css, 1))."/css/".$entry.'">'."\n"; } } closedir($handle); } }

Pour le module en cours à ajouter, juste après le code ci-dessus, le code suivant et créer le dossier /module/style dans le module où vous souhaitez surcharger vos fichiers css sans changer le code du module.

//Current modulepart css overload
// Check if the /module/style folder exists and Add the contains css files to head
$cur_modulepart = explode("/",$_SERVER["PHP_SELF"]);
if(is_array($cur_modulepart) && count($cur_modulepart)>0)
{
	foreach($conf->modules as $module)
	{
		if(in_array($module, $cur_modulepart))
		{
			if (file_exists(getcwd().DIRECTORY_SEPARATOR."style"))
			{
				//browse the css dir and add the contains css files
				if ($handle = opendir(getcwd().DIRECTORY_SEPARATOR."style"))
				{
					while (false !== ($entry = readdir($handle))) 
					{
						list($filename, $extension) = explode(".", $entry);
						if ($entry !== '.' && $entry !== '..' && $extension == 'css')
						{
							print '<link rel="stylesheet" type="text/css" href="'.dirname($_SERVER["PHP_SELF"])."/style/".$entry.'">'."\n";
						}
					}
					closedir($handle);
				}
			}
		}
	}
}

Bonjour,
Merci pour ce tuyau très intéressant sauf quand j’applique un css, il n’apparaît pas forcément. Peut être que je m’y prends mal.
La première fonctionne, la deuxième ne s’applique pas
.
.login_table {
background-color: rgba(255, 255, 255, 0.5);
}

.select2-selection__placeholder {
color: white;
}

.
Je vous remercie de m’orienter.

bonjour,
si tu veux changer le thème tu dois aller au code source thème -->style.css.php et non au niveau inspecter

Merci @minaa95
Le thème @eldy ne contient pas du CSS mais du PHP utilisé pour générer du CSS à priori.
Extrait :
//if (! defined(‹ NOREQUIREUSER ›)) define(‹ NOREQUIREUSER ›,‹ 1 ›); // Not disabled because need to load personalized language
//if (! defined(‹ NOREQUIREDB ›)) define(‹ NOREQUIREDB ›,‹ 1 ›); // Not disabled to increase speed. Language code is found on url.
if (!defined(‹ NOREQUIRESOC ›)) define(‹ NOREQUIRESOC ›, ‹ 1 ›);
//if (! defined(‹ NOREQUIRETRAN ›)) define(‹ NOREQUIRETRAN ›,‹ 1 ›); // Not disabled because need to do translations
if (!defined(‹ NOCSRFCHECK ›)) define(‹ NOCSRFCHECK ›, 1);
if (!defined(‹ NOTOKENRENEWAL ›)) define(‹ NOTOKENRENEWAL ›, 1);
if (!defined(‹ NOLOGIN ›)) define(‹ NOLOGIN ›, 1); // File must be accessed by logon page so without login
//if (! defined(‹ NOREQUIREMENU ›)) define(‹ NOREQUIREMENU ›,1); // We need top menu content
if (!defined(‹ NOREQUIREHTML ›)) define(‹ NOREQUIREHTML ›, 1);
if (!defined(‹ NOREQUIREAJAX ›)) define(‹ NOREQUIREAJAX ›, ‹ 1 ›);

Essaie d’ajouter !important et voir si la couleur change (aussi dans le code source CTRL+U regarde si ton fichier css est integré, aussi clique dessus pour voir si le lien pointe bien sur un ton fichier dans le bon emplacement)
.select2-selection__placeholder {
color: white!important;;
}

Ajouter !important a fait le job.
Sinon la page pointe bien sur le fichier css custom au bon endroit.

Merci beaucoupp @wdammak