I’m working on a CakePHP 1.2 app where I don’t have control over the /app directory and have relocated my views folder to, say /path/to/mycomponent/views and can render my views by setting my controller’s default view path
var $viewPath = "mycomponent/views";
I have some layouts (including basic.ctp) under /path/to/mycomponent/views/layouts
Is there a way to render my views inside a specific layout?
Calling this from my controller gives me a page not found error:
function index()
{
$this->autoLayout = true;
$this->pageTitle = 'Browse items';
$this->render("browse", "basic");
// also tried: $this->render("browse", "/path/to/mycomponent/views/layouts/basic.ctp");
}
Finally got it to work by adding a path to the viewPaths array of the app configuration. This code goes in you controller constructor or in the override beforeFilter metod:
Now I can just specify the following:
And my controller’s views render in the
basic.ctplayout.