2009-11-26 3 views
2

J'ai un contrôleur par exemple "Prix" aussi un autre "Test" à la fois en utilisant la même table de base de données et la fonctionnalité sont la seule différence pour "Test" la valeur de test du champ et pour "Price" test = false. Comment puis-je étendre le contrôleur "Price" à ce "Testprice" :)Utilisez un contrôleur dans un autre en utilisant zend

Répondre

3

Vous pouvez faire un test de prix vers Price avec un paramètre "test" présent.

$this->_forward('index', 'price', null, array('test' => 1)); 

Et puis vérifier le paramètre de demande "test" dans l'action index du contrôleur de prix

Une autre option consiste à configurer le routeur Zend dans votre application.ini:

resources.router.routes.testprice.route = "testprice/" 
resources.router.routes.testprice.defaults.controller = "price" 
resources.router.routes.testprice.defaults.action = "testprice" 

Et il sera Appelez testpriceAction dans le contrôleur Price pour/testprice/URI

+0

Je ne sais pas comment passer le paramètre. Pouvez-vous me donner un exemple de code? –

+0

Vous y êtes. J'ai ajouté le code –

+0

J'ai ajouté une option de configuration de routeur. Peut-être que vous l'aimez mieux. –

1

utilisez simplement 1 classe Prix avec un membre Test, que vous définissez tot true si vous l'utilisez comme test.

+0

et le définir dans la méthode predispatch() basée sur $ this -> _ getParam ('test'); –

Questions connexes