GAGA Template

XLetter

Problème avec la balise {include}

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
Radio Posté le 31/10/2007 15:48 - #

Membre
4 messages
Salut à tous et à toutes ,

Je viens de tomber sur un problème en voulant coder pour m'amuser avec votre moteur de templates. Alors voilà: je fais la page index.php et index.tpl puis je fais mes pages menu.tpl et menu.php. Les voici puis je vous explique.

Index.tpl
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Site de script</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
   
<p>{include file="menu.tpl"}</p>
<h1>Bienvenue</h1>
   
</body>

</html>


Index.php ne contien rien pour le moment, elle servira pour les news

Menu.tpl
<a href="index.php">Accueil</a> -
<a href="news.php"> News</a> -
<a href="forum.php"> Forum</a> -
<a href="livreor.php"> Livre d'or</a> -
<a href="membre_list.php"> Membres</a> -
<a href="team.php"> Equipe</a> -
{if ($connecte=1) }
<a href="deconnection.php"> Se seconnecter</a> -
<a href="messages_perso.php"> Messages persos</a>
{else}
<a href="inscription.php"> S'inscrire</a> -
<a href="connection.php"> Se connecter</a>
{/if}


Et pour finir: menu.php

<?php
include('libs/gaga.class.php');
$tpl = new gagatemplate();
       
if(isset($_SESSION['pseudo']))
{
  $connecte = 1;
}
else
{
  $connecte = 0;
}
$tpl ->
assign(array(
        'connecte' => $connecte));
               
$tpl-> cache_time = 300;
$tpl -> cache = true;
$tpl -> parse('menu.tpl');
       
?>


Et devinez ce que j'obient quand j'ouvre ma page index.php: j'obtient ceci:

{include file="menu.tpl"}
Bienvenue


Alors que je voudrais voir apparaitre le menu

Merci d'avance.
Radio

gaga26 Posté le 31/10/2007 19:20 - #



741 messages
18 ans
Salut,

Il n'y a pas besoin de parser menu.tpl, l'include le faire pour toi. Il faut déclarer tes variables de menu dans l'index (ou include la page menu.php).

Radio Posté le 31/10/2007 19:54 - #

Membre
4 messages
C'est-à dire que je dois faire cela sur toutes les pages?

gaga26 Posté le 31/10/2007 20:55 - #



741 messages
18 ans
non, tu n'as qu'a inclure menu.php, mais tu te limite à ce code.

menu.php
if(isset($_SESSION['pseudo']))
{
  $connecte = 1;
}
else
{
  $connecte = 0;
}
$tpl -> assign(array(
        'connecte' => $connecte));

Et dans index.php
include('libs/gaga.class.php');
$tpl = new gagatemplate();
       
//inclusion du menu
include('menu.php');

$tpl -> parse('index.tpl');


Avec les même fichiers templates.

Radio Posté le 31/10/2007 21:24 - #

Membre
4 messages
Salut,

Merci tout d'abord.
Maintenant, autre problème: ma condition en fonctionne pas, dans le menu j'ai la possibilité de me déconnecter alors que j'ai pas de variable de session ouverte .

Merci d'avance.
Radio

EDIT: je fais d'autre condition avec le moteur et jamais elle ne fonctionne .

Edité par Radio le 31/10/2007 21:31

gaga26 Posté le 01/11/2007 14:10 - #



741 messages
18 ans
Tu utilise un égal simple alors qu'il en faut un double, exactement comme PHP. Ne perd pas de vue que le fichier template sera convertit en PHP par la suite.

Radio Posté le 01/11/2007 19:07 - #

Membre
4 messages
OkOK. Merci, problème résolu.

Radio

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Rapport de bugs, à la liste des forums, ou au haut de page