On Jul 18, 2:51 am, Isaac Raja <[email protected]> wrote:
> no. i'm just manipulating the  the url as a string and replacing it with the
> users selected city. Here's my code.I know the code is bad. but i'm thinking
> of a way to overcome it.
>
>         $id = $this->params['url']['city'];
>         $this->Category->Post->City->id = $id;
>         $this->data = $this->Category->Post->City->read();
>         $subdomain = low($this->data['City']['city']);
>         $domain =  Configure::read('Site.domain');
>         $urll = '';
>         $urll = 'http://';
>         $urll .= !empty($subdomain)?$subdomain.'.':'www.';
>         $urll .= $domain;
>         $urll .= $this->params['url']['url_here'];
>         if(!empty($this->params['url']['keyw']))
>         {
>
>           $urll .= '/keyw:'.$this->params['url']['keyw'];
>         }
>         $this->Session->write('Current', array('id' => $id, 'city' =>
> $subdomain));
>         $this->redirect($urll,null,true);
>
> Thanks
> Isaac

You want something like $this->redirect(array_merge($this->params,
array('city' => $city)));

since you're using subdomains - that's going to mean the url comes out
as /foo/bar/already:intheurl/city:$city . However if you

1) override app helper url, like 
http://thechaw.com/cakebook/source/app_helper.php#37
2) create a component with a beforeRedirect function, like
http://trac.assembla.com/mi/browser/branches/base/controllers/components/seo.php#L98

That means you can put your bespoke url logic in one (well, two) place
- and so long as you use arrays for urls, always, your code isn't tied
to your desired route 'scheme' but you can do whatever you want.

Regards,

AD
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to