Fork me on GitHub




(1) 2 »


Comprendre les variables de Xoops
Aspirant
Inscrit: 20/05/2010 11:39
De GOMA
Messages: 24
Salut,

Comme je le sait bien xoops se sert du moteur SMARTY, mais je voudrais bien comprendre comment xoops lit les variables à partir de mon module

voici un exemple

fichier index.php

Citation :

nclude ('../../mainfile.php');
$m="mmm";
$xoopsOption['template_main'] = 'afficheCat.html';

include XOOPS_ROOT_PATH.'/header.php';

include(XOOPS_ROOT_PATH."/footer.php");


quand je lit la variable $m à partir de mon template la variable n'est pas reconu

templates/afficheCat.html

<body>
<p><{m}></p>
</body>

votre aide me sera tres precieuse

Posté le : 30/04/2014 16:18
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Aspirant
Inscrit: 20/05/2010 11:39
De GOMA
Messages: 24
Je cherche encore et encore sans suite, je me rexplique je voudrais bien à partir de mon fichier index.php créé mes propres variables, lesquelles je voudraient bien acceder à partir de mon template en utilisant bien sur smarty, le comble ce que celles-ci sont invisibles dans mo template je crois ca peut etre un problème de porté de mes variables, comment doit je faire pour que mes variables définies à partir de mon fichier index.php soit accessible à partir de mon fichier template? en bref comment rendre mes variables globales?

Posté le : 30/04/2014 17:10
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Une petite recherche sur le site aurai permis de trouver cet article traitant du sujet.

Posté le : 30/04/2014 17:24

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Aspirant
Inscrit: 11/11/2010 14:56
Messages: 78
assign
Permet d'assigner une valeur à un template.
La valeur est soit une chaine, soit un tableau associatif.
assign (string | array $tpl_var, mixed $value = null)
$tpl_var string ou array nom de la variable de template à créer
$value mixed valeur à lui transmettre

Exemples
$xoopsTpl->assign('varm', $m);

dans ton template tu utilise ce code smarty <{$varm}> pour afficher mmm

tu peux creer autant de variable que tu souhaite.

Posté le : 01/05/2014 11:43
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Aspirant
Inscrit: 20/05/2010 11:39
De GOMA
Messages: 24
Merci bien pour ta réaction, mais j'ai parcouru le tuto que tu m'a proposé ici


mais quand j'appelle la classe class/templates.php j'ai ce message


Citation :
Notice: Use of undefined constant XOOPS_ROOT_PATH - assumed 'XOOPS_ROOT_PATH' in E:\site\modules\gestDvd_categorie\index.php on line 2

Warning: require_once(XOOPS_ROOT_PATH/class/template.php): failed to open stream: No such file or directory in E:\site\modules\gestDvd_categorie\index.php on line 2

Fatal error: require_once(): Failed opening required 'XOOPS_ROOT_PATH/class/template.php' (include_path='.;C:\php\pear') in E:\site\modules\gestDvd_categorie\index.php on line 2

ce qui veut dire je m'imagine que la constante XOOPS_ROOT_PATH n'est pas définie ou c'est moi qui ne sait pas l'appeller.

d'apres ce que je comprends on essaie d'acceder à la classe xoops défini dans class/templates.php pour pouvoir acceder aux méthodes SMARTY définies dans celle-ci , j'ai essaiyé de bidouiller pour acceder à la classe en faisant ceci mais, ce que je m'imagine n'est pas conseillé j'ai ce MESSAGE "ACCESS RESTRICTED"

MERCI DE VOTRE AIDE


Posté le : 05/05/2014 16:24
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
tu as oublié quelque chose en route, au début de tes fichiers accessible web tu doit avoir au départ, comme par exemple :
if (!file_exists('../mainfile.php')) { 
    die(
'Cette page doit ce trouver dans un r&eacute;pertoire'); 
} else {  
    include_once(
'../mainfile.php'); 
}


il faut appeler le fichier mainfile.php

Posté le : 05/05/2014 16:48
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Aspirant
Inscrit: 20/05/2010 11:39
De GOMA
Messages: 24
J'ai bien appelé le fichier, voici mon code

include_once('../../mainfile.php');

Citation :
mon fichier PHP

if (!file_exists('../../mainfile.php')) {
die('Cette page doit ce trouver dans un répertoire');
} else {
include_once('../../mainfile.php');
}
include_once XOOPS_ROOT_PATH.'/class/template.php';
$xoopsTpl = new XoopsTpl();

$xoopsTpl->assign('varm', "essaie");


Citation :

mon template

<body>
<p> <{varm}> ici on est</p>
</body>


mais quand j'actualise mon module j'ai ce massage d'erreur

Citation :
Error : Smarty error: [in db:afficheCat.html line 2]: syntax error: unrecognized tag 'varm' (Smarty_Compiler.class.php, line 590)



Posté le : 05/05/2014 17:29
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
comme ceci, cela devrai fonctionner bien meiux

<body>
<
p> <{$varm}> ici on est</p>
</
body>


pour appeler une variable en smarty il faut mettre un $ devant

Posté le : 05/05/2014 17:40
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Aspirant
Inscrit: 20/05/2010 11:39
De GOMA
Messages: 24
Merci pour ta réponse, mais j'appelle ma variable comme tu le recommande Citation :
<{$varm}>
ca affiche pas le contenu de ma variable qui est "essaie" tel assigné dans ma variable Citation :
$xoopsTpl->assign('varm', 'essaie');
, j'ai plus le message d'erreur mais ma variable est vide alors que j'ai lui est affecté une valeur

merci d'avance

Posté le : 05/05/2014 18:02
Partager Twitter Partagez cette article sur GG+
Re: Comprendre les variables de Xoops
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
Je comprend pas
?>


Sous 2.5.x ou plus tu devrais avoir plutôt

if ( !include('../../mainfile.php') ) {
    die(
"XOOPS root path not defined");
}
// Ton traitement PHP

$xoopsOption['template_main'] =  'CHG_mentions_index.html';
// Ici j'appelle le template du module CHG_mentions_index.html, ne pas oublier de le déclarer dans $xoops_version.php
include(XOOPS_ROOT_PATH.'/header.php');
// Cet include doit être juste après la déclaration du template

// A partir d'ici tu insères tout ce qui faut pour l'affichage
$xoopsTpl->assign('varm'"essaie");

include(
XOOPS_ROOT_PATH.'/footer.php');

Posté le : 05/05/2014 18:09
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

32 Personne(s) en ligne (27 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 32 | Plus ...