Templates imbriqués [Résolu] - PHP - Programmation
Marsh Posté le 23-07-2004 à 11:57:40
if
//traitement
if X
//traitement
fin if
else
//traitement
fin if
Marsh Posté le 23-07-2004 à 12:33:17
heu j'ai peur de ne pas comprendre ...
P-e que je me suis mal exprimé, admettons que mon 1er template contienne :
Code :
|
et mon 2ème template :
Code :
|
Je voudrais pouvoir en 1er lieu assigner une valeur a {td} , puis prendre le resultat du 2ème template et l'affecter à la valeur {body}.
Marsh Posté le 23-07-2004 à 15:11:07
J'ai pensser a modifier un peu le ficher IT.php de la sorte qu'au lieu d'imprimer le resultat (quand on lance show() ca me retourne un variable de texte, mais a votre avi il y a pas plus simple?
Marsh Posté le 23-07-2004 à 15:11:56
A ce monment là, tu prépares $body en l'affectant avec le résultat de l'application du premier template et ensuite tu travailles sur le second template en allat y remplacer {body} par $body
Marsh Posté le 24-07-2004 à 12:49:53
Oui je veux bien, mais comment recuperer $body ? Etant donné que l'affichage de la page se fait grace au ficher /html/it.php et a la commande show(); ? Il faudrait que je modifie it.php?
Marsh Posté le 24-07-2004 à 12:52:04
donne ton code. Sans cela, c'est difficile à dire.
Marsh Posté le 24-07-2004 à 13:24:34
Code :
|
voila les 2 code pour les template, je voudrais que le resultat du 1er show() devienne le parametre de la 2ème (si c pas un array j'arrengerais cela apres).
J'espere avoir été clair ...
Marsh Posté le 24-07-2004 à 13:43:04
je ne comprends pas ton code
show est une méthode issue d'une classe et je ne connais pas la classe. Tu dois essayer d'utiliser un moteur de template. N'existe-t-il pas un forum dédié à ce moteur ?
Marsh Posté le 24-07-2004 à 13:52:18
show() est une methode issue de /html/it.php qui est un ficher stocké dans les pear d'apache, un lib comme une autre quoi
Marsh Posté le 24-07-2004 à 14:15:48
Cela ne change pas, je ne connais pas la classe.
J'ai regardé rapidement et je ne sais pas te répondre
Marsh Posté le 24-07-2004 à 14:17:42
A ton avi, si je modifie ca :
Code :
|
Au lieu de faire print, je le met dans un variable qu'apres j'utilise plus loin, ca peut marcher?
Marsh Posté le 24-07-2004 à 14:23:05
essaie, je ne sais pas.
La classe IT ne semble pas construite pour faire des boucles de mise en forme. Cela semble plutôt être fait pour :
- preparer les données
- les mettre en tableau
- parser le template
Marsh Posté le 24-07-2004 à 14:36:48
Je sais justement, c'est pour ca que je demandais comment faire ... Parceque j'aurais préféré laisser le IT.php comme il etait ... bon je vais modifier un peut tout ça ... merci
Marsh Posté le 24-07-2004 à 22:13:48
salut, voici une methode très simple qui peut résoudre ton problème
Code :
|
PS : ya surement un truc à faire au niveau des CHMOD
Marsh Posté le 25-07-2004 à 04:30:56
Je vois pas tres bien en quoi ca va m'aider d'extraire l'html du 2ème ficher ... Pask le {td} va rester tel ... non? ...
P.S: Pourquoi faire une lecture rb ?
Marsh Posté le 25-07-2004 à 16:24:05
Enfait apres avoir essayer de modifier le ficher IT.php , je me trouve a ca :
Ceci marche :
Code :
|
Ceci ne me retourne aucune valeur :
Code :
|
Au cas ou ... le ficher IT.php se trouve a la racine de php, dans le pear , dossier HTML.
Merci d'avance
Marsh Posté le 27-07-2004 à 21:23:49
Ouais le HTML inclus est statique (donc pas parsé).
Si tu dois parsé le code tu px tenter ça:
Code :
|
Quelles librairies utilise tu ?
Marsh Posté le 23-07-2004 à 09:33:15
Bonjour,
Voila mon probleme : J'ai 1 template "a" qui contient un champ "x", je voudrais qu'en une circonstance bien précise PHP remplace x par le contenu d'un autre template "b", ceci "virtuellement" si vous voyez ce que je veux dire, de la sorte que le ficher de depart ne soit pas touché.
Merci d'avance
Message édité par esox_ch le 26-07-2004 à 12:34:44