Friday, January 28, 2011

Re: Reverse routing - not using the intended rule

I knew it had to be something simple! :)

So basically, adding the 'slug' => before passing the actual slug
fixed it.

Now I need to work some more magic to have site.com/page/sub-page
routing :)

Thanks a lot, cricket ;)

On Jan 27, 6:19 pm, cricket <zijn.digi...@gmail.com> wrote:
> On Wed, Jan 26, 2011 at 9:22 AM, r4zv4n <razvanbra...@gmail.com> wrote:
>
> > If I insert the link the correct way:
>
> > $this->Html->link('Page Title',
> >      array('controller' => 'pages', 'action' => 'view', 'page-
> > slug'));
>
> > I get site.com/pages/view/page-slug
>
> > If I hardcode it:
>
> > $this->Html->link('Page Title', '/page-slug/'));
>
> > I get site.com/page-slug (theintendedresult).
>
> That makes sense because you're essentially bypassing Router.
>
> Try this:
>
> Router::connect(
>         '/:slug',
>         array(
>                 'controller' => 'pages',
>                 'action' => 'view'
>         ),
>         array(
>                 'slug' => '[-a-z0-9]+',
>                 'pass' => array('slug')
>         )
> );
>
> That should work, although it'll have to be the last route defined.
> This assumes your slugs will be lowercase alphanumeric, plus hyphens.
> The slug will be passed to the method as a param:
>
> public function view($slug = null) { ... }
>
> When you create the link, notice that you include the 'slug' option in
> the same array as the controller & action (unlike in the route
> definition).
>
> echo $this->Html->link(
>         'foo',
>         array(
>                 'controller' => 'pages',
>                 'action' => 'view',
>                 'slug' => $slug
>         ),
>         array('title' => 'foo')
> );

--
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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate