Witam,
Mam taki mały problem, jak zrobić przekazywanie parametrów akcji w kontrolerze?
Mam cos takiego (przyklad):
<?php $this->NextAction('saveData','id'=>'1'); ?>
W Agavi każda akcja i widok dostaje kontener zawierający dane z różnych miejsc (GET/POST/FILES etc), do których dobierasz się metodą setParameter.
W chwili gdy robisz forward możesz dorzucić własny parametr przez setParameter.
<?php class Cart_AddAction extends AgaviAction { public function execute(AgaviParameterHolder $parameters) { $cart = $this->getContext()->getUser()->getCart(); try { // helper wykorzystuje parametry i kontekst do wyszukiwania obiektów $helper = new PropelHelper($this->getContext(), $parameters); $product = $helper->read('Products'); $cart->add($product); } catch (PropelException $e) { // w razie problemów dorzucamy wyjątek, który będzie dostępny dla widoku $parameters->setParameter('exception', $e); return 'Error'; } $parameters->setParameter('message', 'Produkt '. $product->getProductName() .' został dodany do koszyka'); return http://www.php.net/array('Cart', 'IndexSuccess', $parameters); } public function getDefaultViewName() { return 'Foo'; } } ?>
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)