IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] Page dans un sous-répertoire


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [Smarty] Page dans un sous-répertoire
    Bonjour,

    Je débute en PHP et je découvre Smarty et ses tutos.

    Mon souci :
    J'arrive à afficher une page se trouvant à la racine du site (index.php), mais j'ai un message d'erreur quand je veux afficher une page dans un sous-dossier (1/1.php).

    Warning: Smarty error: unable to read resource: "test.tpl" in C:\xampp\htdocs\Test_Smarty\Smarty\Smarty.class.php on line 1092

    Une ame charitable pour m'aider à lever cette incompréhension ??

    Arborescence du site :


    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
     	// Inclusion de la librairie
    require_once('./Smarty/Smarty.class.php');
     
    	// Instanciation d'un l'objet Smarty
    $oSmarty = new Smarty();
     
    // Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('Titre_Page', 'Test_Smarty');
     
    	// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('hello_world', 'Bonjour le monde');
     
     
    	// Affichage du template après compilation
    $oSmarty->display('test.tpl');
    1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     	// Inclusion de la librairie
    require_once('../Smarty/Smarty.class.php');
     
    	// Instanciation d'un l'objet Smarty
    $oSmarty = new Smarty();
     
    // Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('Titre_Page', 'Test_Smarty');
     
    	// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('hello_world', 'Page 1 sous-dossier');
     
     
    	// Affichage du template après compilation
    $oSmarty->display('test.tpl');
    Merci.

    Je voulais poster dans le forum Smarty, raté

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    J'utilise une classe dans laquelle je définie les chemin des répertoires smarty :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class smart extends smarty {
    	function __construct($dirAdmin = null) {
    		$this->Smarty();
    		//$this->debugging = true;
    		//{debug output="html"}
    		$this->template_dir = ROOTPATH . $dirAdmin . 'templates/';
    		$this->compile_dir = ROOTPATH . $dirAdmin .  'templates_c/';
    		$this->config_dir = ROOTPATH .  $dirAdmin . 'configs/';
    		$this->cache_dir = ROOTPATH .  $dirAdmin . 'cache/';
     
    		//$this->caching = true;
    		$this->assign('ROOTPATH', ROOTPATH);
    		$this->assign('WEBROOT', WEBROOT);
    	}
     
    }
    le ROOTPATH est le chemin absolu de la racine de mon site, ici :
    /home/damien/www/dcid-web/REP/
    Donc $this->template_dir est le chemin absolu vers le répertoire templates.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ca me dit d'avoir vu un tuto avec une classe et la définition des chemins.

    Je chercherai dans cette voie là.
    Merci pour le coup de pouce

  4. #4
    Membre chevronné
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Points : 1 790
    Points
    1 790
    Par défaut
    Bonjour,
    dans ton cas c'est simplement que tu n'as pas spécifié les chemins templates et templates_c de smarty.
    tu peux le faire après initialisation de ton objet smarty.
    @++

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci pour la réponse.

    J'essaierai de voir si je m'en sors avec ces précisions.

    Merci également à Celira d'avoir déplacé mon post dans la bonne section

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Effectivement, ca marche mieux après spécification des chemins .

    Merci de votre aide.

    1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     	// Inclusion de la librairie
    require_once('../Smarty/Smarty.class.php');
     
    	// Instanciation d'un l'objet Smarty
    $oSmarty = new Smarty();
    $oSmarty->template_dir = '../templates/';
    $oSmarty->compile_dir = '../templates_c/';
    $oSmarty->config_dir = '../configs/';
     
    // Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('Titre_Page', 'Test_Smarty');
     
    	// Affecter la valeur "Bonjour le monde" à la varaible SMARTY 'hello_world'
    $oSmarty->assign('hello_world', 'Page 1 sous-dossier');
     
     
    	// Affichage du template après compilation
    $oSmarty->display('test.tpl');

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saut de page dans un sous etat
    Par zinovas dans le forum IHM
    Réponses: 1
    Dernier message: 25/01/2007, 10h03
  2. Réponses: 7
    Dernier message: 12/09/2006, 14h22
  3. Réponses: 2
    Dernier message: 26/07/2006, 10h53
  4. Recherche de fichiers dans des sous répertoires
    Par Mimi Bulles dans le forum Langage
    Réponses: 8
    Dernier message: 25/04/2006, 16h41
  5. [CR 10] entete de page dans un sous état
    Par alpachico dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 24/11/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo