Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Structure du fichier .info

Traduction de la page http://drupal.org/node/171205
publiée / actualisé le 11 Mars 2011 sur drupal.org


La syntaxe du fichier .info est similaire à celle des fichiers INI (http://fr.wikipedia.org/wiki/Fichier_INI).

Le fichier .info est en fait un simple fichier texte qui décrit la configuration de chaque thème. Chacune de ses lignes est constituée par un couple clé+valeur dans laquelle la clé se trouve à gauche et la valeur à droite, avec un signe égal entre les deux (exemple : key = value).

Les points-virgules sont utilisés pour signaler les lignes de commentaires. Certaines clés utilisent une syntaxe particulière avec des crochets ouvrants et fermants pour la déclaration de listes de valeurs associées, également appelées « tableaux » (arrays). Si vous n'êtes pas familiarisés avec les tableaux, les exemples contenus dans le fichier .info et les explications qui suivent vous éclaireront.

Normes pour le nom du thème

Le nom du thème doit débuter par un caractère alphabétique, il peut contenir des chiffres et des signes souligné, mais pas de tirets, d'espaces ou de la ponctuation. Le nom sera utilisé par Drupal pour la formation de différentes fonctions PHP et aura par conséquent les mêmes restrictions. Attention ! Ne choisissez pas le même nom qu'un module, puisque les noms des modules installés doivent être uniques. Utiliser un préfixe qui sera unique pour les thèmes créés localement est une bonne idée. Un site exemple.com pourrait appeler ses thèmes ex_themename.

Comme le fichier .info est mis en cache, vous devez vider le cache pour que les modifications soient visibles dans votre site.

Le fichier .info peut également déclarer les paramètres de thème qui seront accessibles via l'interface d'administration, comme vous le verrez bientôt.

Drupal comprend les clés énumérées ci-dessous. Il utilisera des valeurs par défaut (http://drupal.org/node/171206, traduction en français : http://www.kolossaldrupal.org/docs/valeurs-info-par-defaut) pour les clés facultatives qui ne sont pas mentionnées dans le fichier .info. Reportez-vous aux exemples pour les thèmes principaux (http://drupal.org/node/171205#example, en français : http://www.kolossaldrupal.org/docs/structure-fichier-info)

name (obligatoire)

Un nom en clair, compréhensible pour tout un chacun. Il peut désormais être différent du nom « interne ». Ce qui allège les restrictions concernant les caractères autorisés.

name = un nom quelconque

description (recommandé)

Une courte description du thème. Elle apparaît dans la page de sélection de thèmes, dans Administrer » Construction du site » Themes.

description = Design multi-colonne sans tableaux pour blogs

screenshot

La clé screenshot (facultative) indique à Drupal où trouver la miniature du thème, cette miniature utilisée dans la page de sélection du thème (Administrer » Construction du site » Thèmes).

Si la clé est omise, Drupal utilise le fichier « screenshot.png » du dossier du thème.

N'utilisez cette clé que si votre miniature n'est pas nommée « screenshot.png », ou si vous l'avez placée dans un dossier externe à votre dossier du thème (par exemple : screenshot = images/screenshot.png)

screenshot = screenshot.png

version (déconseillé)

La chaîne version sera automatiquement ajoutée par Drupal.org quand une release est créée et un tarball empaqueté. Vous pouvez donc omettre cette valeur pour les thèmes mis à disposition de la communauté.

Mais si votre thème n'est pas hébergé par Drupal.org, vous pouvez donner n'importe quelle valeur à cette clé, du moment qu'elle vous semble parlante.

version = 1.0

core (obligatoire)

A partir de la version 6,x, tous les fichiers .info des modules et des thèmes doivent mentionner avec quelle version majeure de Drupal ils sont compatibles. La valeur indiquée est comparée avec la constante DRUPAL_CORE_COMPATIBILITY. Si elles ne correspondent pas, le thème sera désactivé.

core = 6.x

Le script d'empaquetage renseigne automatiquement cette valeur basée sur le paramètre de compatibilté du core Drupal. Ainsi, les personnes qui téléchargent des thèmes depuis drupal.org obtiendront toujours la bonne version.

Cependant, pour les sites qui déploient Drupal directement à partir du CVS, il est utile d'indiquer cette modification dans le fichier .info de votre thème. C'est également une bonne chose de signaler aux utilisateurs de chaque thème quelle version du core de HEAD (http://drupal.org/handbook/cvs/introduction#HEAD) du CVS est compatible.

The drupal.org packaging script automatically sets this value based on the Drupal core compatibility setting on each release node. So people downloading packaged themes from drupal.org will always get the right thing. However, for sites that deploy Drupal directly from CVS, it helps if you commit this change to the .info file for your theme. This is also a good way to indicate to users of each theme what version of core the HEAD of CVS is compatible with at any given time.

engine (souvent obligatoire)

Le moteur de template utilisé par le thème. Si rien n'est précisé, le thème est censé être autonome, c'est à dire mis en œuvre avec un fichier .theme. De nombreux thèmes utilisent  PHPtemplate comme moteur par défaut.

Le travail de PHPTemplate consiste à déterminer les fonctions du thème, ses gabarits, pour son comportement. Omettez cette entrée si vous savez ce que vous faites.

engine = phptemplate

base theme

Les sous-thèmes peuvent déclarer leur thème parent. Cette déclaration permet l'héritage des ressources du thème parent et leur réutilisation dans le sous-thème. Les sous-thèmes peuvent déclarer d'autres sous-thèmes comme thème parent, permettant ainsi plusieurs niveaux d'héritage. Utilisez le nom « machine » interne du thème de base.

L'exemple qui suit est utilisé pour Minnelli, un sous-thème de Garland :

base theme = garland

D'autres détails sont disponibles dans les pages Sous-thèmes, leur structure et l'héritage.

regions

Les blocs regions disponibles pour un thème sont définis en spécifiant la clé regions suivie du nom « machine » interne entouré de crochets, et en spécifiant le nom convivial comme valeur.

Par exemple : regions[theRegion] = The region name

Régions par défaut pour Drupal 6 :

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer

Régions par défaut pour Drupal 7 :

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

Vous pouvez surcharger ces valeurs pour vos propres besoins.

Plus de détails sont disponibles sur la page Attribution de contenu aux régions.

features

Sur la page de configuration du thème, l'affichage des différents éléments gérés peut être activé ou désactivé. La clé features indique les cases à cocher qui seront utilisées à cette fin dans la page de configuration. C'est utile pour supprimer les cases à cocher des éléments non définis ou inutilisés par le thème .

Pour supprimer une case à cocher, omettez sa valeur. Mais, si aucune valeur n'est spécifiée, toutes les cases à cocher seront affichées, puisque c'est le comportement du paramétrage par défaut.

L'exemple qui suit énumère tous les éléments disponibles contrôlés par la clé features.

Features Drupal 6

En mettant primary_links et secondary_links en commentaires, leurs cases à cocher sont supprimées et ne ne seront pas visibles par les administrateurs du site :

features[] = logo
features[] = name
features[] = slogan
features[] = mission
features[] = node_user_picture
features[] = comment_user_picture
features[] = search
features[] = favicon
; These last two disabled by redefining the
; above defaults with only the needed features.
; features[] = primary_links
; features[] = secondary_links

Features Drupal 7

features[] = logo
features[] = name
features[] = slogan
features[] = node_user_picture
features[] = comment_user_picture
features[] = favicon
features[] = main_menu
features[] = secondary_menu

Plus de détails sont disponibles sur la page Custom theme settings .

stylesheets

Traditionnellement, les thèmes utilisent par défaut une feuille de style nommée style.css. Des feuilles de style supplémentaires peuvent être ajoutées en appelant la fonction drupal_add_css() dans le fichier template.php. Depuis la version 6, on peut aussi ajouter des feuilles de styles via le fichier .info.

stylesheets[all][] = theStyle.css

A partir de Drupal 7, les thèmes n'utilisent plus par défaut le fichier style.css s'il n'est pas déclaré dans le fichier .info.

Plus de détails sont disponibles dans la section style sheets (http://www.kolossaldrupal.org/docs/ajouter-feuilles-de-style).

scripts

Traditionnellement, les thèmes utilisant du code JavaScript ajoutait ce code en appelant la fonction drupal.add_js() dans le fichier template.php.

Depuis la version 6, s'il existe un fichier nommé script.js dans le dossier du thème il est automatiquement inclus.

Cependant, dans Drupal 7, ce comportement a été modifié et script.js n'est inclus que s'il a été déclaré dans le fichier .info.

Les thèmes peuvent également ajouter du code JavaScript spécifique en ajoutant ces lignes dans le fichier .info :

scripts[] = myscript.js

Plus de détails sont disponibles dans la section JavaScript & jQuery (http://drupal.org/node/171213).

php

Cette clé définit la version minimale de PHP supportée par le thème. La valeur par défaut dépend de la constante DRUPAL_MINIMUM_PHP, qui est la version minimum requise pour le reste du core. Elle peut être redéfinie si une nouvelle version est nécessaire. Pour beaucoup de thèmes cette clé ne devrait pas être ajoutée.

php = 4.3.3

Exemples de fichiers .info pour les thèmes du core.

Garland :

name = Garland
description = Tableless, recolorable, multi-column, fluid width theme (default).
version = VERSION
core = 6.x
engine = phptemplate
stylesheets[all][] = style.css
stylesheets[print][] = print.css

; Information added by drupal.org packaging script on 2008-02-13
version = "6.0"
project = "drupal"
datestamp = "1202913006"

Minnelli, sous-thème de Garland :

name = Minnelli
description = Tableless, recolorable, multi-column, fixed width theme.
version = VERSION
core = 6.x
base theme = garland
stylesheets[all][] = minnelli.css

; Information added by drupal.org packaging script on 2008-02-13
version = "6.0"
project = "drupal"
datestamp = "1202913006"

Notez que chaque élément des lignes « ; Information added by drupal.org packaging script on 2008-02-13 » et suivantes est ajouté par le script d'empaquetage de Drupal.org. Vous ne devez pas ajouter manuellement les clés project et datestamp. La clé version ajoutée manuellement (dans la première section) autorise les sites à utiliser votre thème lorsqu'il est pris directement depuis le CVS.