Jeremy, I don't know details of how to accomplish this, but it seems like you're going to have to call another non-cached action instead of the action you want. It will:
- call the navigation engine to get an html fragment of your menus - call the desired action and get the page rendering - plug the menus into the page and send it to the browser or - send the menu out as a string that javascript can insert in the page once it loads Does this seem possible? Regards, Don On May 31, 5:44 am, Jeremy Burns <jeremybu...@classoutfit.com> wrote: > I've raised a similar question before but got no responses, so I'll > try something more specific. > > I have an application that is pretty dynamic. With no caching turned > on there is a lag of around 2 seconds before anything happens, and > then it all zips in really quickly. If I blanket enable view caching > (enabling cache in core.php, adding the Cache helper to app_controller > and setting cacheAction to +1hour) the lag disappears, response is > fantastic but the results are (understandably) terrible as nothing is > dynamic. > > If I move the cache setting from app_controller into specific actions > I start to get better results. It's a pretty big app, so that's going > to take a lot of time and testing to do correctly. However, I have a > particular problem that I need to solve before I put in the effort. > > I have a navigation component that reads $this->params, sets up some > variables that are passed through the controller and rendered in an > element (that also has a nested element): > > function beforeRender() { > $this->set('menus', $this->Navigation->menus($this->params)); > > I have placed <cake:nocache></cake:nocache> blocks in the elements. > > Reading the Cake on line book: > "It should be noted that once an action is cached, the controller > method for the action will not be called - otherwise what would be the > point of caching the page. Therefore, it is not possible to wrap > <cake:nocache> </cake:nocache> around variables which are set from the > controller as they will be null." > > As every page contains the navigation code, it would seem that I > cannot pass the menus variable down. Subsequent rendering of the > navigation (when the contents have changed) delivers lots of > 'Undefined index' errors as the variables are indeed missing. This is > especially so when a user logs in and then logs, which generates > different menu content. > > Can anyone suggest a work around for this? -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php