2010-02-03 6 views
0

j'appelle une aide d'action dans l'un de mes vues en utilisant le code suivantaide actionHelper sans retourner la mise en page en sortie

echo $this->action('foo', 'bar'); 

Le fooAction dans le barController fait son travail et fournit une liste de pages. Cependant, la liste a de nouveau la disposition dans la sortie, ce qui est énervant. Si je désactive la mise en page dans fooAction, la mise en page sera complètement désactivée du côté live.

Je suis vexé. Je pourrais juste créer une aide à la vue, et il y a plusieurs façons de contourner cela, mais par curiosité, je me demandais si quelqu'un avait une solution à cela.

Répondre

1

De l'ZF Reference Guide on Action ViewHelper

L'API pour l'aide de vue d'action suit celle de la plupart des composants MVC qui appellent des actions du contrôleur: action($action, $controller, $module = null, array $params = array()). et $controller sont requis; Si aucun module n'est spécifié, le module par défaut est supposé.

Modifiez votre contrôleur pour accepter un paramètre qui contrôle si l'action doit désactiver la mise en page. Lorsque vous utilisez l'assistant d'action, passez ce drapeau de contrôle.

Sur une note: l'utilisation de l'Action ViewHelper est considérée comme une mauvaise pratique car elle va à nouveau traverser tout le processus d'expédition, ce qui ralentira votre application. Si possible, try to access the model directly.