Existe-t-il un moyen de remplacer uniquement certaines règles CSS utilisées par le thème administrateur, sans toucher au thème administrateur lui-même (via certaines fonctions de thème ou crochets de module)? Par exemple, je voudrais ajouter un text-align: right
à chaque champ entier dans les formulaires d'administration (et dans les nœuds d'édition également).
Je l'ai fait en utilisant simplement:
function mymodule_preprocess_html(&$variables) {
global $theme;
if ($theme === variable_get('admin_theme', 'seven')) {
// Reference your custom stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
C'est un peu plus lisible pour moi.
Il existe plusieurs façons de le faire, mais toutes les approches ne sont pas égales en termes d'affecter les performances de votre site Web. Par exemple:
Créez un répertoire appelé 'mymodule' (utilisez le nom que vous voulez), créez ces fichiers à l'intérieur, puis placez-le dans votre répertoire sites/all/modules/custom. J'ai ajouté des commentaires au code ci-dessous afin que vous puissiez voir ce qui se passe.
mymodule.info contient:
name = mymodule
description = Custom alterations for admin pages on my website
core = 7.x
mymodule.module contient:
function mymodule_preprocess_html(&$variables) {
// Add conditional stylesheets for admin pages on admin theme.
if (arg(0) === "admin") {
// Reference your current admin theme.
$theme_path = drupal_get_path('theme', 'commerce_kickstart_admin');
// Reference your own stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
css/mymodule.css aura alors vos styles qui seront ajoutés au thème admin. Videz vos caches, activez ce module et c'est parti pour les courses! En savoir plus sur drupal_add_css ici .
Ce que je fais, c'est créer un sous-thème pour le thème d'administration que j'utilise avec juste le .info
, un fichier CSS unique (généralement nommé overrides.css
) et un template.php
fichier si nécessaire.
Qu'en est-il de CSS Injector ?
Je ne sais pas s'il autorise une règle de configuration dépendante du thème, mais je suppose qu'il en autorise une basée sur le chemin (donc admin/, node/add/, node/*/edit devrait faire l'affaire).