Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-12-2008 12:07:37

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

pb : disableLayout pour gerer des pdf

bonjour,
j'imprime un PDF  créé dynamiquement.
Pour l'afficher

Code:

dans mon pdfaction 
$this->_helper->layout->disableLayout();

et dansle Pdf 
header("Content-Disposition: attachment; filename=dossard.pdf");
...
echo $pdf->render();

ça marche bien.
maintenant j'ai rajouté pour gérer mes menus un plugin (dispatchLoopStartup) avec un pushStack et cela me bloque mon pdf (fait une erreur de pdf)

Y a til moyen de désactivé mon plugin depuis mon pdfAction comme je le fait pour l'affichage central ?
en passant par initializer  ou changeant de layaout ...  si quelqu'un à une bonne idée.

Ce qui m'éviterais de faire des tests dans le plugin.

Je vous remercie de jeter un œil avant d'être plein de bulles de champagne.
Bonne année à tous

Dernière modification par Bebert (31-12-2008 12:07:52)


Bertrand

Hors ligne

 

#2 31-12-2008 12:31:49

-=blu3+3y3s=-
Membre
Lieu: Toulouse
Date d'inscription: 01-04-2008
Messages: 47

Re: pb : disableLayout pour gerer des pdf

Salut,

Tu peux désactiver les plugins à partir de ton action en faisant:

Code:

public function pdfAction()
{
    $this->getFrontController()->removePlugin('nom_de_ton_plugin');
    ....
}

Hors ligne

 

#3 31-12-2008 17:56:01

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

Re: pb : disableLayout pour gerer des pdf

merci d ela réponse rapide.
Cependant, ça va pas.
tel quel j'ai une erreur

Code:

$this->getFrontController()->removePlugin('controlPlugin');
Fatal error: Call to undefined method Zend_Controller_Front::removePlugin()
avec la vue 
$this->view->getFrontController()->removePlugin('controlPlugin');
Plugin by name GetFrontController was not found in the registry.

voili


Bertrand

Hors ligne

 

#4 01-01-2009 11:33:47

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: pb : disableLayout pour gerer des pdf

Hello,

Essayes :

Code:

$this->getFrontController()->unregisterPlugin('controlPlugin');

Si j'ai pas la tête trop embrumée wink

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#5 06-01-2009 07:30:14

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

Re: pb : disableLayout pour gerer des pdf

Bonjour,

Sur le ZF1.6 j'uilise le code suivant

Code:

dans bootstrap, j'appelle le plugin 
$frontController->registerPlugin(new controlPlugin());

le plugin qui gére le menu dans le contolleur

Code:

class controlPlugin extends Zend_Controller_Plugin_Abstract
{
    public function dispatchLoopStartup (Zend_Controller_Request_Abstract $request)
    {
        $front = Zend_Controller_Front::getInstance();
        if (! $front->hasPlugin('Zend_Controller_Plugin_ActionStack')) {
            $actionStack = new Zend_Controller_Plugin_ActionStack();
            $front->registerPlugin($actionStack, 97);
        } else {
            $actionStack = $front->getPlugin('Zend_Controller_Plugin_ActionStack');
        }        
        $menuAction = clone ($request);
        $menuAction->setActionName('menu2')->setControllerName('index');
        $actionStack->pushStack($menuAction);
    }
}

et après dans le contolleur

Code:

public function pdfAction(){
$this->_helper->layout->disableLayout();// pour desactivé le layout principal

Voila mon code actuel et j'arrive toujours pas à désactiver le plugin, malgrès vos aides.
Sur mes applis en ZF 1.0, j'utilisais un héritage de View. Quand j'envoyais un PDF, je n'utilisais pas le Render de la view.
merci à tous


Bertrand

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