Tuesday, October 28, 2008

Re: how can i set one controller to render actions from another controller in cakephp 1.2

I am not absolutely sure, but I think you will get a little better
performance (and structure) from calling requestAction in your view in
this case.
That is, you create elements to do the rendering and use requestAction
to get the data to the element. Not to render anything.

If your application warrants it, you may also be better off loading up
the needed Models directly in the current controller. This would cut
out requestAction.
This would be a good option if your controller or action is for a
"portal"-style page that shows bits from different parts of the
application.

/Martin


On Oct 28, 9:12 am, johnbl4ck <unknw...@gmail.com> wrote:
> and then again, how can i pass some parameters via url.
>
> e.g. i have url likehttp://127.0.0.2/sections/view/14/autocard-3
>
> this means that i call some controller with method autocard to get
> record with id = 3.
>
> if ($ctrlr != 'sections') {
>
>         (isset($action)) ? $action : $action = 'index';
>         $cAct = explode('-', $action);
>         $this->set('pish', $this->requestAction(array('controller' => $ctrlr,
> 'action' => $cAct[0]), array('return')));
>
>         }
>
> this will work but wil not do what i need.
> but if i change
>         $this->set('pish', $this->requestAction(array('controller' => $ctrlr,
> 'action' => $cAct[0]), array('return')));
> to
>         $this->set('pish', $this->requestAction(array('controller' => $ctrlr,
> 'action' => $cAct[0]($cAct[1])), array('return')));
>
> cakephp ends up with error Fatal error: Call to undefined function
> autocard() in /var/www/hotcake/app/controllers/sections_controller.php
> on line 55
>
> On 28 окт, 12:37, johnbl4ck <unknw...@gmail.com> wrote:
>
> > hello, i'm new to cakephp. in my app there's controller named sections
> > which renders pages and there're multiple controllers for special
> > actions (e.g. photos, shop, etc).
>
> > what i'm trying to do is to create whole pages structure with sections
> > controller and set some pages to be rendered by other controllers in
> > backend.
>
> > i found out that renderAction will do this task
>
> > e.g.
>
> > $this->set('pish', $this->requestAction(array('controller' => 'photo',
> > 'action' => 'index'), array('return')));
>
> > is it ok to use renderAction or there's better way to do it?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

No comments: