Injecter du CSS Drupal
Résolu/Fermé
pbertout
Messages postés
992
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
8 septembre 2019
-
Modifié par pbertout le 30/12/2015 à 15:26
pbertout Messages postés 992 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 8 septembre 2019 - 9 janv. 2016 à 14:21
pbertout Messages postés 992 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 8 septembre 2019 - 9 janv. 2016 à 14:21
A voir également:
- Injecter du CSS Drupal
- Enlever couleur lien css ✓ - Forum CSS
- Css premier plan ✓ - Forum CSS
- Css download - Télécharger - HTML
- Css retour à la ligne ✓ - Forum CSS
- Background color css ✓ - Forum CSS
1 réponse
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 3/01/2016 à 20:10
Modifié par ryko1820 le 3/01/2016 à 20:10
Je commence tout juste sur Drupal mais apparemment c'est plutôt sur les thèmes qu'on joue avec le CSS et de préférence dans un sous-thème. (On ne doit pas modifier un thème officiel car ils sont mis à jour automatiquement et on perdrait ses modifs)
Donc le premier truc à faire serait de créer un sous-thème.
La façon de procéder dépends un peu des spécificités du thème de départ (certains comme celui de bootstrap proposent un répertoire à recopier) mais globalement la procédure généralement applicable est expliquée (en anglais) sur : https://www.drupal.org/node/225125
D'abord choisir arbitrairement un nom interne unique constitué de minuscule (et éventuellement de tirets bas). Exemple en partant de bartik : "mon_soustheme_bartik"
- créer un sous-répertoire reprenant exactement ce nom interne dans
Ensuite créer un fichier .info dans ce répertoire, qui aura le même nom que le nom interne, donc :
Il contiendra :
(Ne pas écrire dans le .info ce que j'ai mis entre parenthèses !!! On sait jamais ...)
Le sous-thème hérite ensuite de "presque" toutes les propriétés du thème de base et dés la fin de l'édition du .info on peut le choisir dans le menu d'administration "apparence/thème/"
Il est possible d'overrider (surcharger ou redéfinir) dans le .info certaines propriétés du thème de base.
Certaines, (très peu) devront être obligatoirement redéfinies comme le logo.png qui pourra être recopié à partir du répertoire du thème de base, les régions (qui apparaissent dans blocs), quelques préférences avancées de thème et le module color (avec ses css).
Ensuite il faut créer un fichier template.php dans le répertoire du sous thème et le modifier :
Le chemin est relatif depuis la racine ... Après j'utilise les options par défaut, on peut utiliser un css sur un autre serveur, etc ...
Moi, c'est là que je mets mon css ...
Et à l'arrivé dans le source des pages j'ai :
Si besoin la page du site officiel pour le CSS : https://www.drupal.org/node/171209
(Ou ils disent qu'on peut aussi le faire dans le .info mais chez moi ça marche pas, même après refresh du cache)
Maintenant ça fait 1 semaine que je fais du drupal alors ce que j'en dis ...
Tout ça dépends également de la version de Drupal. (6, 7 ou 8 / Je suis sur 7). Si je dis des co**ries n'hésitez pas à me le dire.
Et ta lightbox elle marche qu'avec du css, pas de javascript ?
Avec du JS en plus le template.php du sous-thème devient :
Bibliographie :
Creating a sub-theme
Working with JS
Adding style sheets
function drupal_add_js
function drupal_add_css
function template_preprocess_html
You may stop me but you can't stop us all ;-)
Donc le premier truc à faire serait de créer un sous-thème.
La façon de procéder dépends un peu des spécificités du thème de départ (certains comme celui de bootstrap proposent un répertoire à recopier) mais globalement la procédure généralement applicable est expliquée (en anglais) sur : https://www.drupal.org/node/225125
D'abord choisir arbitrairement un nom interne unique constitué de minuscule (et éventuellement de tirets bas). Exemple en partant de bartik : "mon_soustheme_bartik"
- créer un sous-répertoire reprenant exactement ce nom interne dans
sites/all/themes/mon_soustheme_bartik(ou dans
sites/www.exemple.com/themes/mon_soustheme_bartiksi on gère plusieurs site)
Ensuite créer un fichier .info dans ce répertoire, qui aura le même nom que le nom interne, donc :
sites/all/themes/mon_soustheme_bartik/mon_soustheme_bartik.info
Il contiendra :
name = Mon sous-thème à moi que j'ai fait(info libre)
description = Un sous-thème du thème Bartik (info libre)
core = 7.x (dépends de la version de drupal)
base theme = bartik (Info la plus importante !!! obligatoirement le nom interne du thème de base)
(Ne pas écrire dans le .info ce que j'ai mis entre parenthèses !!! On sait jamais ...)
Le sous-thème hérite ensuite de "presque" toutes les propriétés du thème de base et dés la fin de l'édition du .info on peut le choisir dans le menu d'administration "apparence/thème/"
Il est possible d'overrider (surcharger ou redéfinir) dans le .info certaines propriétés du thème de base.
Certaines, (très peu) devront être obligatoirement redéfinies comme le logo.png qui pourra être recopié à partir du répertoire du thème de base, les régions (qui apparaissent dans blocs), quelques préférences avancées de thème et le module color (avec ses css).
Ensuite il faut créer un fichier template.php dans le répertoire du sous thème et le modifier :
<?php function <bold>mon_soustheme_bartik</bold>_preprocess_html(&$variables) { drupal_add_css('sites/all/themes/mon_soustheme_bartik/ton_css.css'); }
Le chemin est relatif depuis la racine ... Après j'utilise les options par défaut, on peut utiliser un css sur un autre serveur, etc ...
Moi, c'est là que je mets mon css ...
Et à l'arrivé dans le source des pages j'ai :
@import url("[http://mon.serveur/drupal/sites/all/themes/mon_soustheme_bartik/ton_css.css]");
Si besoin la page du site officiel pour le CSS : https://www.drupal.org/node/171209
(Ou ils disent qu'on peut aussi le faire dans le .info mais chez moi ça marche pas, même après refresh du cache)
Maintenant ça fait 1 semaine que je fais du drupal alors ce que j'en dis ...
Tout ça dépends également de la version de Drupal. (6, 7 ou 8 / Je suis sur 7). Si je dis des co**ries n'hésitez pas à me le dire.
Et ta lightbox elle marche qu'avec du css, pas de javascript ?
Avec du JS en plus le template.php du sous-thème devient :
<?php mon_soustheme_bartik_preprocess_html(&$variables) { drupal_add_js('https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autoload=true&skin=sons-of-obsidian', 'external'); drupal_add_css('sites/all/themes/mon_soustheme_bartik/ton_css.css'); }
Bibliographie :
Creating a sub-theme
Working with JS
Adding style sheets
function drupal_add_js
function drupal_add_css
function template_preprocess_html
You may stop me but you can't stop us all ;-)
4 janv. 2016 à 09:53
Il y a du y avoir un problème de copié/collé ... Et le nom de la fonction dépends évidement du nom interne du (sous-)thème ....
Modifié par pbertout le 4/01/2016 à 18:23
Ha oui et après vérification, j'ai également du javascript.
De plus je suis aussi sur la version 7.
Merci beaucoup !
A++
Modifié par ryko1820 le 4/01/2016 à 19:56
5 janv. 2016 à 07:50
Bonne journée !
A++
5 janv. 2016 à 19:33
Je viens de me poser une question, voila, par exemple certain utilisateurs peuvent choisir deux thèmes différents, pour la lightbox, je vais créer dans mes deux thèmes le dossier, ou il suffit de faire le sous-thème dans seulement le thème principal (à savoir corporate pour ma part)?
Merci par avance !
Bonne soirée !