Nice. much cleaner indeed!
$this->getRequest()->getParameterHolder()->clear();
$this->getRequest()->setMethod(sfRequest::GET);
$context = sfContext::getInstance();
$this->getController()->redirect(url_for($context-
>getModuleName().'/'.$context->getActionName()), true);
any more comments on this? I think its sexy! ;)
cheers
/christian
On 11 Apr., 11:36, "Thomas Rabaix" <[EMAIL PROTECTED]> wrote:
> Well, you can do something more 'cleaner'. No idea if it is a good
> thing to add a redirect in the component, but if you don't have the
> choice ...
>
> [...]
> $this->getController()->redirect(url_for('module/action'), true);
> return sfView::NONE;
> [...]
>
> Thomas
>
> On Fri, Apr 11, 2008 at 9:13 AM, Christian Schaefer <[EMAIL PROTECTED]> wrote:
>
> > hi all,
>
> > I recently toyed around with a little plugin of mine where I thought
> > it would be appropriate to have components that provide functionality
> > like commenting. this component I thought should also handle posted
> > comments and save them.
>
> > the first way would have been to have a dedicated route to a dedicated
> > action saving the comment and redirecting to the url it was called
> > from. this would mean you'd have to rely on the referrer or that you
> > have to pass the url to your saving action. but you would loose url
> > hash parameters like #someinterestingpartofthesite.
>
> > the other way I have chosen is to trigger the saving within the
> > component. unfortunately you have no redirect() method on your
> > component. So I want to share with you my solution for this:
>
> > /**
> > * Post/Redirect/Get (PRG) [EMAIL
> > PROTECTED]://en.wikipedia.org/wiki/Post/Redirect/Get}
> > * Fetch the current action, clear the request parameters and
> > set the request method to get.
> > * This will reset the current (and already processed) request
> > to a vanilla GET request, thus
> > * no longer triggering this save method.
> > * Then use the current action object to redirect to itself. All
> > POST data will have been
> > * removed from the request.
> > */
> > $current_action = sfContext::getInstance()->getActionStack()-
> > >getLastEntry()->getActionInstance();
> > $this->getRequest()->getParameterHolder()->clear();
> > $this->getRequest()->setMethod(sfRequest::GET);
> > $current_action->redirect($current_action->getModuleName().'/'.
> > $current_action->getActionName());
>
> > any thought on this? any reasons to shout 'Oh nooo, don't do THAT!'?
>
> > cheers
> > /christian
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---