GAGA Template

XLetter

Ne plus mettre mes scripts à la racine...

...mais dans un dossier qui se trouve à la racine :D

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

Page : 1
robocop Posté le 01/12/2007 16:40 - #

Membre
23 messages
ReBonjour ,

J'ai un petit problème avec le moteur de templates.
En fait, pour un script conséquent, j'aimerais mettre tout mes fichiers dans un dossier forum au mieux de les mettre à la racine.

Pour l'instant, j'ai ça :
include('libs/main.php');
$titre = 'Le forum - Robotix';
$liste_css = array('forum.css');
include('libs/header.php');


Main.php :
<?php
/*
#       Contient plusieurs fichiers à includes automatiquement
*/

        session_start();
        header('Content-Type: text/html; charset=iso-8859-1');
        //Gestion des dates !
        date_default_timezone_set('Europe/Paris');
        //Gestion des erreurs !
        error_reporting(E_ALL ^ E_NOTICE);
        include('libs/gestion-erreur.function.php');
       
        include('libs/functions.php');
        include('libs/config.php');
?>


<?php
        //On gère les sessions !
        $_SESSION['connected'] = (!isset($_SESSION['connected']) OR empty($_SESSION['connected'])) ? false : true;
        //Fin des sessions
        $debut = microtime(true);
        $tpl = new gagatemplate();
        $bdd = new mysql($host, $utilisateur, $mdp, $base_de_donnees);
       
        $tpl->assign(array(
                        'titre' => $titre, // Titre de la page
                        'session' => $_SESSION['connected']//Variable de sessions => true ou false
                        ));
       
        if (!empty($liste_css)) {
                foreach ($liste_css as $fichier_css) {//récupération des css
                        $tpl->assign_block('css', array('fichier_css' => '<link href="templates/css/'.$fichier_css.'" rel="stylesheet" type="text/css" media="screen, handheld" />'));
                }
        }
        else
                $tpl->assign_block('css', array('fichier_css' => ' '));

        if (!empty($liste_js)) {
                foreach ($liste_js as $fichier_js) {//récupération des js
                        $tpl->assign_block('js', array('fichier_js' => '<script type="text/javascript" src="templates/js/'.$fichier_js.'"></script>'));
                }
        }
        else
                $tpl->assign_block('js', array('fichier_js' => ' '));
?>


J'ai beau changer les includes, en mettant ça :
include('../libs/main.php');
$titre = 'Le forum - Robotix';
$liste_css = array('forum.css');
include('../libs/header.php');
$tpl = new gagatemplate(../);
 


Mais ça ne marche pas.
Vous auriez pas une petite idée?
Merci d'avance.

gaga26 Posté le 01/12/2007 16:50 - #



741 messages
18 ans
Salut,

Il faut mettre le chemin absolu lors de l'instanciation. Va voir la documentation.

robocop Posté le 01/12/2007 17:08 - #

Membre
23 messages
A, j'ai essayé ça, mais ça marche pas non plus, lol :
$cheminabsolu='http://devrobotix.breizh-heberg.net';
include('../libs/main.php');
$titre = 'Le forum - Robotix';
$liste_css = array('forum.css');
include('../libs/header.php');


Main.php :
<?php
/*
#       Contient plusieurs fichiers à includes automatiquement
*/

        session_start();
        header('Content-Type: text/html; charset=iso-8859-1');
        //Gestion des dates !
        date_default_timezone_set('Europe/Paris');
        //Gestion des erreurs !
        error_reporting(E_ALL ^ E_NOTICE);
        if(!empty($cheminabsolu)){
        include($cheminabsolu.'libs/gestion-erreur.function.php');
        include($cheminabsolu.'libs/functions.php');
        include($cheminabsolu.'libs/config.php');
        }
        else
        {
        include('libs/gestion-erreur.function.php');
        include('libs/functions.php');
        include('libs/config.php');
        }
?>


Header.php
<?php
        //On gère les sessions !
        $_SESSION['connected'] = (!isset($_SESSION['connected']) OR empty($_SESSION['connected'])) ? false : true;
        //Fin des sessions
        $debut = microtime(true);
        if(!empty($cheminabsolu)){
        $tpl = new gagatemplate($cheminabsolu);
        }
        else
        {
        $tpl = new gagatemplate();
        }
        $bdd = new mysql($host, $utilisateur, $mdp, $base_de_donnees);
       
        $tpl->assign(array(
                        'titre' => $titre, // Titre de la page
                        'session' => $_SESSION['connected']//Variable de sessions => true ou false
                        ));
       
        if (!empty($liste_css)) {
                foreach ($liste_css as $fichier_css) {//récupération des css
                        $tpl->assign_block('css', array('fichier_css' => '<link href="templates/css/'.$fichier_css.'" rel="stylesheet" type="text/css" media="screen, handheld" />'));
                }
        }
        else
                $tpl->assign_block('css', array('fichier_css' => ' '));

        if (!empty($liste_js)) {
                foreach ($liste_js as $fichier_js) {//récupération des js
                        $tpl->assign_block('js', array('fichier_js' => '<script type="text/javascript" src="templates/js/'.$fichier_js.'"></script>'));
                }
        }
        else
                $tpl->assign_block('js', array('fichier_js' => ' '));
?>

robocop Posté le 01/12/2007 19:51 - #

Membre
23 messages
Ne chercher pas : j'ai trouvé !
Ca n'a pas été facile, j'ai modifié plein de truc mais ça marche lol .
Par contre, la fonction gagatemplate() n'accepte que des liens absolu?

gaga26 Posté le 01/12/2007 21:15 - #



741 messages
18 ans
le chemin absolu du système, pas l'url...

Ze Thriller Posté le 06/12/2007 11:56 - #


Membre
105 messages
24 ans
En général(après faut adapter suivant ta config):


$tpl=new gagatemplate($_SERVER['DOCUMENT_ROOT']); // Racine de l' "espace web" du serveur, peut différer de cette valeur.
 


Le top en la matière étant de créer une fonction (je n'ose pas dire "une méthode statique" ) qui permet de distinguer les serveurs win/*nix et le serveur de prod du pc local

gaga26 Posté le 07/12/2007 21:57 - #



741 messages
18 ans
Il ne faut pas oublier le slashes final, ce qui donne :
$tpl=new gagatemplate($_SERVER['DOCUMENT_ROOT'].'/');

robocop Posté le 12/12/2007 14:51 - #

Membre
23 messages
Merci à vous.
HS : petite erreure ici :
http://www.gagatemplate.com/modules/docs/balise/END%20block
<!-- BEGIN block --> est la balise de fermeture d'un block, elle va de paire avec la balise <!-- BEDIN block -->

robocop Posté le 12/12/2007 14:51 - #

Membre
23 messages
Merci à vous.
HS : petite erreure ici :
http://www.gagatemplate.com/modules/docs/balise/END%20block
<!-- BEGIN block --> est la balise de fermeture d'un block, elle va de paire avec la balise <!-- BEDIN block -->

gaga26 Posté le 12/12/2007 18:36 - #



741 messages
18 ans
C'est corrigé

Pio154 Posté le 12/12/2007 20:23 - #

Membre
6 messages
15 ans
Comment sa se fais que vous utilisez avec $_SERVER['DOCUMENT_ROOT'] ?

Moi j'utilise comme sa dans mon script :
                include $DoWAfF_Config['chemin'].'Config_Templates/libs/gaga.class.php';
                $tpl = new gagatemplate($DoWAfF_Config['chemin'].'Config_Templates/');
 


$DoWAfF_Config['chemin'] = './dowaff/';

On peut dire sa comme si cétais un lien, ou une include ...

Edité par Pio154 le 12/12/2007 20:24

gaga26 Posté le 12/12/2007 20:30 - #



741 messages
18 ans
DOCUMENT_ROOT donne la racine du site "système". Exemple :
  • C:/web
  • /var/www

Il suffit d'ajouter un slashe et la racine du site est prêtes pour gagatemplate.

Page : 1

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

Retour au forum Méthodes, à la liste des forums, ou au haut de page