Appeler une méthode d'un contrôleur dans un plugin
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 :
Code:
1 2
|
$this->getRequest()->setControllerName('')->setActionName(''); |
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..
Voilà où j'en suis :
Code:
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();
}
}
} |
Savez-vous comment faire?
Merci de vos réponses.