Bon, apparemment c'est toujours pas clair

Je vais essayer de t'expliquer mieux :
Il n'y a pas de "type de fichier tpl". On choisit l'extension tpl pour spécifier que ce sont des fichiers template, mais il y a beaucoup de sortes de fichiers template (autant qu'il existe de moteur de template en php et autre langage, ce qui nous fait donc plusieurs milliers de type de fichiers possibles pour une seule et même extension). Ca veut dire qu'on ne peut pas échanger ses fichiers .tpl avec ceux du voisin en espérant que ça marche, à moins d'être sûr que vous utilisez tous les deux le même système de template.
On peut quand même distinguer deux familles de moteurs de template : ceux qui fonctionnent avec un include() (autrement dit, les fichiers .tpl sont en fait des fichiers php classiques et tu peux écrire du php dedans) et ceux qui effectuent des remplacements de marqueurs (par exemple <!--[MA_VARIABLE]--> pour le moteur PHPLib), voire qui inventent un nouveau langage (comme Smarty).
Si tu veux faire des templates avec du php dedans, include() est tout ce dont tu as besoin.