Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour,
j'imprime un PDF créé dynamiquement.
Pour l'afficher
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)
Hors ligne
Salut,
Tu peux désactiver les plugins à partir de ton action en faisant:
public function pdfAction() { $this->getFrontController()->removePlugin('nom_de_ton_plugin'); .... }
Hors ligne
merci d ela réponse rapide.
Cependant, ça va pas.
tel quel j'ai une erreur
$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
Hors ligne
Hello,
Essayes :
$this->getFrontController()->unregisterPlugin('controlPlugin');
Si j'ai pas la tête trop embrumée
A+
Hors ligne
Bonjour,
Sur le ZF1.6 j'uilise le code suivant
dans bootstrap, j'appelle le plugin $frontController->registerPlugin(new controlPlugin());
le plugin qui gére le menu dans le contolleur
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
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
Hors ligne