Categories > TinyButStrong general (FR) >

portée des regles établies dans TBS

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: cspencer
Date: 2005-05-10
Time: 17:30

portée des regles établies dans TBS

Bonjour,
je suis actuellement en train d'utiliser TBS pour élaborer un documentation d'aide.

Tout d'abord, j'ai une page d'identification de l'utilisateur "aide_user.php" à parrti de cette page j'appelle "aide.php" où l'on trouve le TBS qui va mettre en forme le squelette "frame.html". Cette page s'affiche correctement selon les règles établies dans le TBS.
Maintenant je voudrais mettre un lien hypertexte qui appelle une autre page ("frame1.html") à partir de "frame.html". En appelant cette page, je ne peux pas faire appliquer mon TBS à "frame1.html". Est ce qu'on peut résoudre le problème de porter du TBS.

Dans mes règles TBS je tiens en compte des droits de l'utilisateur, de la version de logiciel. Ce sont eux qui coordonnent le remplissage des variables dans le squelette. J'aimerai donc que mes règles s'appliquent à toutes les pages que je voudrais afficher.

Merci de votre aide
cordialement,
cspencer
By: Skrol29
Date: 2005-05-11
Time: 12:09

Re: portée des regles établies dans TBS

Salut Cspencer,

Si j'ai bien compris ton problème, le plus simple c'est de faire un seul fichier "aide.php" qui est capable d'affiche plusieurs modèles "frame.html", "frame1.html",.... selon des variables passées dans l'URL (méthode GET) ou par des formulaires Html (méthode POST).

Par exemple, ton lien pour afficher "frame1.html" pourait être
<a href="aide.php?page=frame1"> rubrique suivante </a>

Et ton script "aide.php" pourait être par exemple :
// récupération de la page à afficher
if (!isset($_GET['page'])) {
  $page = 'accueil';
} else {
  $page = 'frame1';
}

// page accueil
if ($page='accueil') {
  $TBS->LoadTemplate('frame.html');
  ...
}

// page suivante
if ($page='frame1') {
  $TBS->LoadTemplate('frame1.html');
  ...
}

Voilà, en tout c'est la technique que j'utilise.
By: cspencer
Date: 2005-05-11
Time: 15:56

Re: portée des regles établies dans TBS

Bonjour Skrol29
J'ai utilisé ta technique et ça marche, je t'en remercie. Maintenant, j'arrive à afficher plusieurs page avec le seul "aide.php". Mais j'ai un autre problème qui se pose. Dans ma page "aide.php", je dois tester les utilisateurs susceptible de visionner la page "frame.html", pour cela je fais un test sur leur droit
$droit=$result[0][4];
if(strstr($droit,"buy")||strstr($droit,"cart"))

Pour la première page appelé le cette vérification des droits fonctionnent. Ensuite, en appelant le frame1.html avec ta technique, je n'arrive plus à afficher la page car je perds mes droits
Pour le resoudre, j'ai crée une session php pour faire suivre les données du $droit dans toutes les pages. J'ai donc pour cela changer mes pages frame.html,frame1.html en frame.php, frame1.php et dans frame.php, je change le lien en
<a href="aide.php?squelette=frame1.php&droit=<?php echo $droit ?>">

Le problème est que les instructions entre les balises php ne s'execute pas. Je ne sais pas si c'est TBS qui enlève l'effet php si on appelle une squelette "frame.php" ou autre dans LoadTemplate()

C'etait la seule idée que j'ai trouvé pour récupérer les droits et si le TBS refuse les squelettes php comment faire.
Cordialement,
Cspencer
By: Skrol29
Date: 2005-05-12
Time: 02:42

Re: portée des regles établies dans TBS

> Le problème est que les instructions entre les balises php ne s'execute pas.

Ben oui :) Ton fichier "frame1.html" n'est pas un script PHP, mais un modèle qui est chargé par le moteur de template.
Pour afficher une variable globale, c'est [var.droit]