Héritage des templates dans vos styles Facile

Héritage des templates dans vos styles


» Utiliser l'héritage dans les templates

Vous avez 5, 10, 15, voir plus d'une vingtaine de styles phpBB3 à maintenir ? Afin de vous faire gagner du temps dans la mise à jour de vos styles au fil des version de phpBB3, je vous propose d'utiliser l'héritage des templates pour tous vos fichiers HTML et JS non modifiés, en utilisant soit prosilver, soit subsilver2 selon la base de votre style.

Sommaire
  • Avant-propos
  • Modifier le fichier template.cfg
  • Comparer des dossiers de fichiers

» Avant-propos

Avant de vous lancer dans l'utilisation de l'héritage des templates, je tiens à vous émettre ces quelques avertissements pour vous éviter de vous retrouver à vous demander qu'est ce que vous avez fait de pas correct.

Faites-le dès la création du style autant que possible !

Lorsque l'on installe un style et que l'on fait des modifications dans les fichiers .cfg par après, vous devez désinstaller et réinstaller les templates, voire les styles complets afin que les changements soient pris en compte ! Car si vous ne le faites pas, vous aurez droit à un message d'erreur générale vous signalant des fichiers HTML manquants !

Donc, afin de ne pas avoir à faire ces changements ultérieurs, je vous recommande d'utiliser l'héritage dès la création de votre style

Si vos styles sont déjà installés

En raison de ces changements qui sont assez majeurs, je vous recommande de désinstaller vos styles avant de les modifier, pour ne garder que prosilver et subsilver2. De cette façon, votre forum de test restera accessible et vous n'aurez donc pas à recourir aux modifications manuelles dans la base de données comme ça vient de m'arriver !

Les fichiers pris en charge

Dans les versions de phpBB antérieures à 3.0.9, l'héritage ne s'appliquait qu'aux fichiers HTML et donc, vous deviez encore garder une copie des fichiers JS dans le dossier /template/ de votre style même s'ils n'étaient pas modifiés.
Or, depuis la version 3.0.9, les fichiers JS sont maintenant pris en charge, ce qui fait que vous pouvez maintenant les retirer si vous ne les avez pas modifiés.

Ces quelques recommandations devraient suffire pour vous éviter des maux de tête.

» Modifier le fichier template.cfg

Pour l'héritage de vos templates, vous avez le choix entre deux styles sur lesquelles vous baser : prosilver et subsilver2

Si votre style est basé sur prosilver (présence du fichier colours.css, absence de tableaux dans la liste des forums), utilisez prosilver.
Si votre style est basé sur subsilver2 (une seule feuille CSS, utilisation des tableaux), utilisez subsilver2.

Maintenant que vous savez de quel style hériter vos templates, ouvrez le fichier votrestyle/template/template.cfg avec votre éditeur de texte.

Vous devrez ajouter une ligne à la fin du fichier. Selon le style à utiliser pour l'héritage, ajoutez
Code: Tout sélectionner
inherit_from = prosilver
pour prosilver

Code: Tout sélectionner
inherit_from = subsilver2
pour subsilver2

Sauvegardez le tout. Vous devriez maintenant avoir quelque chose qui ressemble à ceci :
Code: Tout sélectionner
#
    # phpBB Template Configuration File
    #
    # @package phpBB3
    # @copyright (c) 2006 phpBB Group
    # @license http://opensource.org/licenses/gpl-license.php GNU Public License
    #
    #
    # At the left is the name, please do not change this
    # At the right the value is entered
    # For on/off options the valid values are on, off, 1, 0, true and false
    #
    # Values get trimmed, if you want to add a space in front or at the end of
    # the value, then enclose the value with single or double quotes.
    # Single and double quotes do not need to be escaped.
    #
    #

    # General Information about this template
    name = pro_ubuntu_lucid
    copyright = © Ishimaru Design, 2010
    version = 1.0.0

     # Defining a different template bitfield
     template_bitfield = lNg=

   # Template inheritance
   # See http://blog.phpbb.com/2008/07/31/templating-just-got-easier/
   # Set value to empty to ignore template inheritance
      inherit_from = prosilver

j'ai pris le fichier de mon style pro_ubuntu_lucid pour l'exemple

À partir de là, il ne vous reste qu'à faire le ménage dans vos fichiers HTML pour ne garder que ceux que vous avez modifiés expressément pour votre style, ainsi que les fichiers .js auxquels l'héritage ne s'applique pas. Pour cela, lisez ce qui suit.

» Comparer des dossiers de fichiers

Il peut paraître fastidieux de comparer deux dossiers de fichiers pour savoir lesquels sont d'origine et lesquels sont modifiés. Pour vous simplifier la tâche, il existe des applications qui permettent de comparer le code de deux fichiers, et certains permettent même la comparaison récursive.

Pour cela, je vous liste des comparateurs graphiques supportant la comparaison récursive :
  • WinMerge (pour Windows)
  • Meld (pour GNU/LInux - disponible dans vos dépôts)
  • DiffMerge (Windows, Mac, GNU/Linux)

Une fois que vous avez téléchargé l'application correspondant à votre système d'exploitation, ouvrez l'application et sélectionnez les deux dossier à comparer, le premier devant toujours être celui de prosilver ou de subsilver2 selon la base de votre style. Pour Meld, utilisez l'onglet "Comparaison de dossiers".

Une fois que vous avez validé le tout, vérifiez les différences. Pour certains fichiers HTML ou JS, une simple ligne d'espace placée différemment ou une indentation différente (ex: sous forme d'espaces au lieu de tabulations) suffit pour causer des différences, ce qui peut arriver si vous avez déjà mis à jour vos styles. Dans le cas de ces fichiers HTML ou JS dont ces différences d'espaces et d'indentation sont les seules trouvées, vous pouvez les virer en plus des fichiers identiques. De cette façon, vous ne garderez QUE les fichiers JS qui ne sont pas d'origine (ex: fix PNG pour IE6, scripts JQuery) ainsi que les fichiers HTML et JS dont il y a vraiment eu des changements pertinents dans le code, comme l'ajout/suppression/modification de codes, l'ajout d'une ligne de copyright citant votre nom ou un changement d'extension pour l'avatar par défaut par exemple.

Une fois le ménage terminé, vous êtes maintenant prêt à (ré)installer votre style pour le tester. :)

:idea: Depuis le passage en version 3.0.11, tous les styles devraient utiliser l'héritage dans les template par défaut.

Avatar de l’utilisateur
MissGeek
Maître-posteur
Maître-posteur
 
Rédigé le: 12 Déc 2010 à 02:40
Articles: 3
Noter cet article: 123456 Votants: 2
Mots-clés: héritage, templates, styles

Retourner vers Styles


cron