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

Zend Framework PHP Discussion :

Accéder a un module [ZF 1.9]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut Accéder a un module
    Bonjour,
    Je veux créer une application ZF ou il y à une partie site et une partie admin.
    Donc dans modules/ j'ai mis un dossier site et un autre admin avec dans ces dossiers views et controllers
    Mon module par défaut est "site", quand je teste l'application le module "site" marche correctement.
    Par contre mon problème c'est que je n'arrive pas à accéder au module "admin"

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Par défaut
    On peut les mettre où on veut à condition que les répertoires soient bien dans l'include_path (et aussi vérifier les permissions il faut r et x je pense).

    Pour le contrôle d'accès le mieux c'est d'utiliser les Acl dans la fonction init() du contrôleur.

  3. #3
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Bonjour,

    En 1.9 (et depuis la 1.8 de mémoire...) la disposition "par défaut" d'un projet Zend Framework est de placer les dossiers du module default (controllers, views...) à la racine du dossier application, et tous les autres modules dans un sous-dossier modules/nom-du-module.

    Ta configuration étant différente de celle-là il nous faudrait quelques éléments de plus pour pouvoir te répondre... Le contenu de ton application.ini serait un début.

    De plus, ça serait pas mal de nous dire en quoi tu ne peux pas accéder au module, quel genre d'erreur te retourne-t-on ? Normalement le contrôleur error devrait t'afficher une belle exception qui pourrait nous être très utile à déterminer le problème.

  4. #4
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut
    Quand je met url.com/admin j'ai une erreur 404.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    [production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    phpSettings.date.timezone = "Europe/Paris"
    includePaths.library = LIBRARY_PATH
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
     
    resources.db.adapter = "MYSQLI"
    resources.db.params.host = "localhost"
    resources.db.params.username = XXX
    resources.db.params.password = XXX
    resources.db.params.dbname = XXX
     
    resources.layout.layoutpath = APPLICATION_PATH "/layouts"
     
    ; initialize front controller resource
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    resources.frontController.defaultControllerName = "index"
    resources.frontController.defaultAction = "index"
    resources.frontController.defaultModule = "site"
    resources.modules[] = ""
     
    ; initialize a view (no options)
    resources.view[] =
     
    [staging : production]
     
    [testing : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1

  5. #5
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Je n'ai malheureusement pas de quoi faire des tests sous la main, par contre j'ai peut être une vague idée.

    C'est peut être insignifiant, mais essaye de mettre :
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resources.modules[] = ""
    Comme on peut le voir sur la doc de la ressource modules : http://framework.zend.com/manual/fr/...ources.modules

    Sinon, dans la liste des idées à tester, s'assurer que le contrôleur de ton module admin s'appelle bien Admin_IndexController, etc.

  6. #6
    Membre confirmé Avatar de guillaume40
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Par défaut
    J'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Admin_AdminController extends Zend_Controller_Action {
    Et j'ai modifier dans la config.ini et c'est pareil .

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Par défaut
    Si ça donne une erreur 404 ça doit se passer au niveau du .htaccess.

    Ou alors c'est le ErrorController qui l'envoie mais il devrait écrire quelque chose dans les logs s'il est bien configuré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            if ($errors->exception instanceof Zend_Controller_Exception) {
                $log = "notice";
                $this->getResponse()->setHttpResponseCode(404);
                $this->view->title = $this->view->translate("Page not found") ;
                $this->view->message = $this->view->translate("The requested URL was not found on this server.");
            }

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

Discussions similaires

  1. Module python pour accéder a un serveur CVS
    Par chrix10.2 dans le forum Général Python
    Réponses: 1
    Dernier message: 19/06/2007, 16h42
  2. [VBA-E] Comment accéder à une variable tableau située dans un autre module
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/02/2007, 13h15
  3. Comment accéder aux composants du module de données distant ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/06/2006, 00h47
  4. Impossible d'accéder au module Stat
    Par JMLD dans le forum XMLRAD
    Réponses: 12
    Dernier message: 09/05/2006, 15h28
  5. [VB.NET] Accéder au formulaire principal depuis un module
    Par smedini dans le forum Windows Forms
    Réponses: 8
    Dernier message: 02/02/2006, 14h33

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