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

MVC PHP Discussion :

Gestion du flux et Zend


Sujet :

MVC PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut Gestion du flux et Zend
    Bonjour,

    Je vous expose mon problème :

    J'ai un controlleur "Devis" avec une action "generer" qui affiche un devis à l'écran. A la fin de cette page, il y a un lien vers une action "genererpdf" du même controlleur "Devis".

    Voici le code de cette action "genererpdf" :

    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
     
    public function genererpdfAction()
            {
                    $this->_helper->layout->disableLayout();
     
                    $id = $this->_getParam('devisId');
     
                    $devis             = new DB_Views_Devis();
                    $this->view->devis = $devis->fetchById($id);
     
                    $projet             = new DB_Views_Projet();
                    $this->view->projet = $projet->fetchById($this->view->devis[0]['projetId']);
     
                    $client = new DB_Views_Client();
                    $this->view->client = $client->fetchById($this->view->projet[0]['clientId']);
     
                    $tache              = new DB_Views_Tache();
                    $this->view->taches = $tache->fetchByProjet($this->view->projet[0]['projetId']);
    }
    Je désactive donc l'utilisation du layout pour cette action et le fichier genererpdf.phtml génère un fichier HTML complet (avec les head, les définitions de style, etc.) dans le but ultime de générer un PDF en utilisant DOMPDF.

    Pour ce faire, ma vue genererpdf.phtml ne génère pas d'affichage mais tout est placé dans un flux et le flux est ensuite sauvé dans une variable $html.

    Mon objectif serait ensuite de pouvoir "repasser" la main à mon controlleur Devis et à l'action "genererpdf" de celui-ci pour qu'il prenne le contenu de cette variable $html et l'utilise pour générer mon PDF en utilisant DOMPDF.

    Mais voila ... je ne vois pas comment faire ...

    J'ai même tenté, à la fin de ma vue, de faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Zend_Registry::set('myhtml', $html);
    mais quand ensuite, je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Zend_Registry::get('myhtml');
    il me dit qu'il n'y a pas de clé de ce nom dans le registre ...

    J'ai réussi à générer le PDF en plaçant le code permettant cela (le code de DOMPDF) directement dans ma vue mais je trouve que le solution n'est pas très propre ... en effet, mettre du code PHP dans mes vues ... bof bof ...

    Quelqu'un a-t-il une solution pour moi ?

    Merci,
    Olivier

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Je suis toujours un peu bloqué avec cette partie de mon application ...

    En fait, ce qui pourrait vachement m'aider c'est de pouvoir stocker le résultat d'un ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $myview = $this->render();
    ... lancé dans mon action dans une variable, sans que cela provoque l'affichage de la vue.

    En effet, j'ai besoin que la vue soit générée pour pouvoir ensuite passer le résultat à la classe de DOMPDF mais je n'ai pas besoin que cela s'affiche à l'écran ...

    Quelqu'un a-t-il une idée de comment faire ?

    Merci,
    Olivier

  3. #3
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Points : 233
    Points
    233
    Par défaut
    Est-ce que tu as essayé d'utiliser la méthode action dans ta vue ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->action('nomdelaction','nomducontroleur','nomdumodule',array('parametres'));
    Ca permet d'appeler une autre action à partir d'une vue, et si tu passe tes données servant à générer le PDF par session, ça devrait marcher.

    J'ai réussi à générer le PDF en plaçant le code permettant cela (le code de DOMPDF) directement dans ma vue mais je trouve que le solution n'est pas très propre ... en effet, mettre du code PHP dans mes vues ... bof bof ...
    A mon avis, lancer DOMPDF à partir de ta vue n'est pas non plus une mauvais idée.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    Je génére mes pdf en passant les valeurs via les variables de session.

    Je détruit les variables de session une fois le document pdf généré.

    Par contre j'utilise FPDF.

    ++

Discussions similaires

  1. [Process] Gestion des flux
    Par diamonds dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 30/03/2007, 15h43
  2. Gestion des flux de matières dans 1 atelier
    Par ptit_bleu dans le forum Schéma
    Réponses: 4
    Dernier message: 23/02/2007, 09h55
  3. Gestion des flux de données
    Par pdiaz dans le forum Oracle
    Réponses: 2
    Dernier message: 10/01/2007, 16h30
  4. [WinDev 9 ] Gestion de flux http
    Par hegros dans le forum WinDev
    Réponses: 3
    Dernier message: 02/08/2006, 16h57
  5. gestion de flux
    Par mrtatou dans le forum C
    Réponses: 6
    Dernier message: 25/01/2006, 17h51

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