Bonjour, je souhaiterais savoir s'il est possible avec Zend, d'appeler une action d'un contrôleur à partir d'un plugin et d'ensuite stopper les autres plugins qui doivent se faire?
Je veux faire en sorte que si c'est le robot de facebook qui appelle la page, j'appelle une action d'un contrôleur qui spécifie le layout à utiliser (layout avec uniquement des balises meta).
Comme j'ai plusieurs plugins, il faut que celui-ci soit placé en premier.
Il me manque seulement comment appeler la méthode d'un contrôleur dans un plugin et je ne pense pas qu'en faisant :
La redirection avec redirect ne fonctionne pas et comme c'est une application sur Facebook, je ne peux pas sépécifier une URL comme sur un site web..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $this->getRequest()->setControllerName('')->setActionName('');
Voilà où j'en suis :
Savez-vous comment faire?
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 class RobotFacebookPlugin extends Zend_Controller_Plugin_Abstract { public function __construct() { } // Le parametre $request est obligatoire, mais on ne s'en sert pas public function dispatchLoopStartup($request) { // Si c'est le robot de Facebook, il ne faut pas demander les permissions (donc pas le plugin Facebook) et seulement // generer les balises meta if(isset($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit') !== false){ // Appeler l'action et exit //exit(); } } }
Merci de vos réponses.
Partager