
Home
» Talus' Works » Talus' TPL » Rapports de Bugs » Inclusion qui ne fonctionne pas » Lecture du Sujet » Page 1 | Forum Fermé - Sujet Fermé |
|
|
|
|
Salut, Je fais quelques petits tests avec TalusTpl, et j'ai testé la fonction (ou balise) include de ce moteur de template.
Code TPL
<include tpl="header.html" once="true" />
<include tpl="menu.html" once="true" />
<div id="corps">
<h1>{TITRE_H1}</h1>
Blabalblalbla
</div>
</body>
</xhtml>
Dans mon script php "générateur", j'ai ceci :
Code PHP
<?php
Et quand j'execute ma page (la php hein, pas la html), j'ai bien le contenu de la page "index.html" mais pas celui des deux pages que j'inclus...
Code TPL
<include tpl="header.html" once="true" />
<include tpl="menu.html" once="true" />
Alors que normalement ces deux lignes devraient être parsé par le moteur, non ? C'est bon, ça marche, je sais pas ce qui marchait pas mais bon ^^ Dernière édition le 16/02/2008, à 19:05, par karl |
|
|
|
|
|
Salut, C'est bizarre, je ne vois pas d'ou ca peut venir... Peut etre une distraction, qui sait :p Dernière édition le 16/02/2008, à 19:43, par Talus Dev' de Talus' Works |
|
|
|
|
T'a réussi à régler ça Talus ? J'ai toujours ce problème. |
|
|
|
|
|
Salut, Mmh, en fait, j'ai zappé, puisque ca a été "réglé". Est-ce que les fichiers sont bien dans le repertoire du root des TPL (définis par la méthode set_dir() des TPLs), ou bien dans le même repertoire du TPL ? En effet, ils doivent être inclus à partir du repertoire root (quitte à mentionner les dossiers par derrière). Et fais voir le code du cache ? Dev' de Talus' Works |
|
|
|
|
Ils sont bien dans le répertoire root (je suis un boulet, mais je sais quand même lire une doc :p).
Code PHP
<?php
(Fais pas attention au texte, je suis souvent en manque d'inspiration ^^). Sinon, j'ai réussi à régler ça (enfin, j'ai toujours le unspected $end) : HS : J'ai pas de coloration du xHTML avec les fichiers .tpl dans Zend DE (et pourtant, j'ai ajouté l'extension .tpl au fichiers xHTML). Dernière édition le 31/03/2008, à 19:14, par Sargeros |
|
|
|
|
|
Oui, c'etait bien l'extension qui était mauvaise. En fait, je me demande même si je ne vais pas changer le .html en .xml (car c'est du XML, après tout :p)... Pour la doc, c'st que je commence à avoir des doutes (en voyant certains sujets dans général... :p Dernière édition le 31/03/2008, à 20:18, par Talus Dev' de Talus' Works |
|
|
|
|
Bonjour, Pourquoi forcer une extension pour les inclusions alors qu'on est libre de l'extension pour la définition du template utilisé par la page ? Si on remplace
Code PHP
$compile = preg_replace('`<include tpl="(.+?\.html)"[\s]+/>`s', '<?php $tpl->include_tpl('$1\', false, 0); ?>', $compile);
Code PHP
$compile = preg_replace('`<include tpl="(.+?\.html)"[\s]+once="(true|false)"[\s]+/>`s', '<?php $tpl->include_tpl('$1\', $2, 0); ?>', $compile);
Par
Code PHP
$compile = preg_replace('`<include tpl="(.+)"[\s]+/>`sU', '<?php $tpl->include_tpl('$1\', false, 0); ?>', $compile);
Code PHP
$compile = preg_replace('`<include tpl="(.+)"[\s]+once="(true|false)"[\s]+/>`sU', '<?php $tpl->include_tpl('$1\', $2, 0); ?>', $compile);
Ça fonctionne aussi bien (à première vue en tout cas, à confirmer), et ça ne limite pas aux templates .html :) |
|
|
|
|
|
Salut ; Pour l'inclusion de templates, oui, a se limite aux templates (ils sont parsés en tant que tels). Mais en effet, c'est juste pour marquer le fait que c'est exclusivement destinés aux TPLs, et non pas autre chose. Un peu comme les variables seulement en majuscules, les noms des blocs en minuscule, etc... C'est juste un modèle de dissuasion ;) Sinon, pour les regles, autant mettre le quantificateur non gourmand "?" a la fin des marqueurs de quantités dans tes captures (+, *, {X,Y}, ...) :) Dernière édition le 27/07/2008, à 15:46, par Talus Dev' de Talus' Works |
| Forum Fermé - Sujet Fermé |