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 principalVoila 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