Le bTemplate utilisé dans xbtit, est une classe php qui autorise la séparation du code (php) et du html (template), en utilisant de simples boucle et des déclarations.
Quand nous regardons sa d'un point de vu dévellopeur, c'est bizarre (et au début difficile), plutôt que d'avoir tout (code php et HTML) dans le même fichier, mais en tant que conception / administration du tracker c'est une grande fonctionnalité !
Vous pouvez changer complètement l'aspect de votre site sans avoir à trouver html dans le code php comme dans les vieux btit, l'un des plus grand avantage de cela, est de réduire beaucoup la possibilité d'erreurs (faute de frappe ou code) et il est beaucoup plus sûr.
Comme nous l'avons dit ci-dessus, le système de modèles ce composent (au moins) en 2 partie :
<br /> <table class="lista" cellpadding="0" cellspacing="0" <tag:block_width /> align="center"> <tr> <td class="block" align="center" height="20px"><b><tag:block_title /></b></td> </tr> <tr> <td width="100%" align="<tag:block_align />" valign="top"> <tag:block_content /> </td> </tr> </table>
Vous pouvez le voir, c'est du pur HTML seulement ici, toutes les variables qui seront changé par le code php sont appelés ”<tag:var_name />”, depuis notre code php il suffit d'appeler le btemplate $ - > set ( “var_name”, $ phpvar), remplacer le var_name avec la valeur phpvar $.
Ensuite, si vous avez besoin de changer l'apparence du bloc, vous devez modifier uniquement dans ce modèle (block.tpl) et les classes CSS.
1.function set_block($block_title,$alignement,$block_content,$width100=true) 2.{ 3. global $STYLEPATH, $TABLE_PREFIX, $language; 4. 5. $blocktpl=new bTemplate(); 6. $blocktpl->set("block_width",($width100?"width=\"100%\"":"")); 7. $blocktpl->set("block_title",$block_title); 8. $blocktpl->set("block_align",$alignement); 9. $blocktpl->set("block_content",$block_content); 10. return $blocktpl->fetch(load_template("block.tpl")); 11. 12.}
Ici vous ne voyez pas, mais bien sûr, vous aurez à inclure bTemplate.php (si ce n'est déjà fait par xbtit).
ligne 5 : nous créons une nouvelle instance btemplate.
ligne 6 à la ligne 9 : nous assignons une variable à certaines valeurs btemplate les tags (si vous regardez le modèle du fichier, vous y trouverez exactement le même <tag:block_* /> tel qu'il est défini ici.
Ligne 10 : dire la classe avec quel modèle à charger et élaborer ensuite (changer) les précédents tags avec les bonnes valeurs.
Il est vraiment difficile d'expliquer comment utiliser le système de modèles que de l'utiliser … Un bon départ (et d'essai) pourrait être le bTemplate Documentation.
En distribution xbtit, les dossiers de tpl (templates) sont présents seulement dans le style xbtit_default, pourquoi ?
Question intéressante
xbtit utilise toujours xbtit_default / *. tpl à moins qu'il ne le trouve dans le style demandé. Ehm, je le sais, cela semble être une explication folle, alors laissez-nous vous faire un exemple :
Dans la liste d'affichage des torrents certaines colonnes manque (par rapport à btit), alors supposons que vous souhaitez conserver le style par défaut en l'état (et je recommande de garder l'original) et changer l'aspect de “Frosted” (par l'ajout de la taille du torrent et l'envoyeur).
<td align="center" width="30" class="header"><tag:torrent_header_complete /></td>
ajoutez:
<td align="center" width="30" class="header"><tag:torrent_header_uploader /></td> <td align="center" width="30" class="header"><tag:torrent_header_size /></td>
et aprés :
<td align="center" width="30" class="lista" style="text-align: center;"><tag:torrents[].complete /></td>
ajoutez :
<td align="center" width="30" class="header"><tag:torrents[].uploader /></td> <td align="center" width="30" class="header"><tag:torrents[].size /></td>
Dans ce cas précis, nous n'avons pas changer le code php, parce que dans le code par défaut les mêmes colonnes sont remplis comme dans btit.
Vous pouvez voir ici la balise du type de bTemplate:
Vous trouverez de plus amples informations sur le type de tag sur la documentation de bTemplate.
Si vous vous connectez à votre site et regardez la page le la liste de torrent, vous verrez que l'utilisation de xbtit_default n'est pas la même que l'utilisation de Frosted
J'espère avoir été assez clair, mais si vous avez des questions, posez-les dans les forums