Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-10-2007 18:45:14

dug
Membre
Date d'inscription: 15-10-2007
Messages: 23

<?php include ("../header.phtml"); ?

Bonjour,

Pourquoi ne peut-on pas faire de <?php include ("../header.phtml"); ?> dans les vues ?
Ne serait-ce pas plus simple ?
Y'a t'il un moyen de le faire ?

Merci

Dernière modification par dug (26-10-2007 18:48:23)

Hors ligne

 

#2 26-10-2007 20:42:18

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: <?php include ("../header.phtml"); ?

encore une fois ../ ne corresponds pas au répertoire parent de celui contenant le script. mais au répertoire parant du script chargé par apache
http://monserveur/monsite/monchemin/page.php
page.php

Code:

<?php
include 'view/vue.php';

vue.php

Code:

<?php
include '../header.phtml'

ICI le ../ n'es pas
monsite/monchemin/ le parent de monsite/monchemin/view/
mais
monsite/ le parent de monsite/monchemin/
car le ../ prend pour référence
http://monserveur/monsite/monchemin/page.php

pour obtenir le répétoire du fichier dans lequel on se trouve il faut utiliser
dirname(__FILE__) le parent est alors dirname(dirname(__FILE__))

ainsi ou qu'il soit dans le code cela fait référence au dossier parent du fichier qui contient cette instruction.
A+JYT

Hors ligne

 

#3 27-10-2007 14:24:36

dug
Membre
Date d'inscription: 15-10-2007
Messages: 23

Re: <?php include ("../header.phtml"); ?

Bien compris, mais alors comment ça se fait que l'on peut inclure des templates du répertoire de la vue de la façon suivante :

Code:

<?php include ("header.phtml"); ?>

? Peut être que c'est une question stupide... Dans tous les cas, merci wink

Hors ligne

 

#4 27-10-2007 14:43:38

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: <?php include ("../header.phtml"); ?

dans ce cas là c'est le includePath qui entre en jeu il me semble et ZF mets le dossier de script courant dans l'includePath.

une façon de s'en sortir est d'utiliser le paramètre baseUrl défini par ZF qui donne la racine de l'application je ne sais plus quel objet la détient mais il me semble que c'est $this->_request il suffit de le donner à la vue et alors tu peux définir tes chement en te servant de cette variable.

A+JYT

Hors ligne

 

#5 27-10-2007 15:11:59

dug
Membre
Date d'inscription: 15-10-2007
Messages: 23

Re: <?php include ("../header.phtml"); ?

Ok,

Sinon on peut faire un :

Code:

$this->view->scriptPath = $this->view->getScriptPath();

Mais ça retourne un warning sans argument...

Alors j'ai défini une constante sur le répertoire des scripts. Est-ce une bonne solution ?

Merci sekaijin

Hors ligne

 

#6 27-10-2007 17:48:11

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: <?php include ("../header.phtml"); ?

je ne suis pas trop pour un chemin définit en dur dans le code car si tu installe ton appli dans un autre dossier il te faudra fouiller le code pour changer

une solution peut être de mettre ce gendre de chose dans un fichier ini
A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages