Whoops, didn't see that you wanted to also refer to the unique name of
the project. So A few more lines.
For that, use:
(app/config/routes.php)
Router::connect('/projects/:name', array('action'=>'view',
'name'=>null));
And in your projects/view controller/action pair:
function view() {
if (empty($this->params['name'])) {
return $this->setAction('index');
}
$conditions = array('name'=>$this->params['name']);
$project = $this->Project->find($conditions);
$this->set(compact('project'));
}
-J.
On Apr 28, 12:41 pm, Joel Perras <[EMAIL PROTECTED]> wrote:
> How about in one line?
> In the app/config/routes.php file:
>
> Router::connect('/projects/:id', array('action' => 'view'), array('id'
> => '[0-9]+'));
>
> -J.
>
> On Apr 28, 10:31 am, "Davide" <[EMAIL PROTECTED]> wrote:
>
> > I wrote a code (at the bottom) that in case of missingAction will search
> > in the database and if found then render the proper view.
>
> > Everything works fine except when I turn DEBUG=0 (production setup). Now
> > cake always render the 404 without entering the AppError::missingAction().
>
> > How can I do?
>
> > Following the code.
>
> > Bye and thanks
> > Davide
>
> > /*
> > * app/error.php
> > */
> > class AppError extends ErrorHandler{
> > function missingAction($params){
> > switch($params["className"]){
> > case "ProjectsController":
> > loadModel("Project");
> > $model = new Project();
> > $data = $model->findByAlias($params["action"]);
> > if(is_null($data) || empty($data)){
> > parent::missingAction($params);
> > }else{
> > $this->controller->webroot = $params["webroot"];
> >
> > $this->controller->set("content_for_layout",$this->requestAction("/projects
> > /view/".$data["Project"]["id"],
> > array("return")));
> > $this->controller->pageTitle = $data["Project"]["name"];
> > $this->controller->viewPath = "layouts";
> > $this->controller->render("ajax");
> > }
> > break;
> > default:
> > parent::missingAction($params);
> > break;
> > }
>
> > }
>
> > }
>
> > --
> > Live life like you're gonna die. Because you're gonna.
> > William Shatner
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" 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/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---