Structure du fichier .info
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 éclairciront.
Drupal comprend les clés énumérées ci-dessous. Il utilisera des valeurs par défaut (http://drupal.org/node/171206) 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)
- name obligatoire
- description conseillé
- screenshot
- version déconseillé
- core obligatoire
- engine souvent obligatoire
- base theme
- regions
- features
- stylesheets
- scripts
- php
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.
Une courte description du thème. Elle apparaît dans la page de sélection de thèmes, dans Administrer » Construction du site » Themes.
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)
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.
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é.
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.
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.
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 :
D'autres détails sont disponibles dans les pages Sub-themes, their structure and inheritance.
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 :
Si aucune région n'est définie, les valeurs suivantes sont implicites. Vous pouvez les remplacer par vos propres valeurs.
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
Plus de détails sont disponibles sur la page Attribution de contenu aux régions.
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. 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[] = 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
Plus de détails sont disponibles sur la page Custom theme settings (http://drupal.org/node/221905).
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.
Plus de détails sont disponibles dans la section style sheets (http://www.kolossaldrupal.org/docs/ajouter-feuilles-de-style).
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.
Les thèmes peuvent également ajouter du code JavaScript spécifique en ajoutant ces lignes dans le fichier .info :
Plus de détails sont disponibles dans la section JavaScript & jQuery (http://drupal.org/node/171213).
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.
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. 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.
- Version imprimable
- 1644 lectures


Commentaires récents
il y a 6 heures 6 min
il y a 23 heures 53 min
il y a 1 semaine 3 jours
il y a 2 semaines 3 jours
il y a 3 semaines 12 heures
il y a 3 semaines 6 jours
il y a 4 semaines 1 heure
il y a 4 semaines 3 heures
il y a 4 semaines 2 jours
il y a 4 semaines 6 jours