I'm on CakePHP 1.3 stable and have a routing problem for which I
haven't been able to figure a solution out (read through the docs,
googled for it, searched the group).
What I'm trying to achieve is have all pages referred to as site.com/
page-slug - except for some cases (such as product categories,
products, etc.). The problem is that reverse routing uses the site.com/
pages/view/page-slug instead.
The current rules I have are:
Router::connect('/lolot', array('controller' => 'pages', 'action' =>
'index', 'admin' => true));
Router::connect('/pages/menu_threaded', array('controller' =>
'pages', 'action' => 'menu_threaded'));
Router::connect('/products/display_by_category', array('controller'
=> 'products', 'action' => 'display_by_category'));
Router::connect('/products/display_by_brand', array('controller' =>
'products', 'action' => 'display_by_brand'));
Router::connect('/produse', array('controller' => 'categories',
'action' => 'index'));
Router::connect('/produse/*', array('controller' => 'categories',
'action' => 'view'));
Router::connect('/produs/:brand--:product', array('controller' =>
'products', 'action' => 'view'), array('pass' => array('brand',
'product'), 'brand' => '[a-zA-Z0-9\-\.]+', 'product' => '[a-zA-Z0-9\-
\.]+'));
Router::connect('/marci', array('controller' => 'brands', 'action'
=> 'index'));
Router::connect('/marci/*', array('controller' => 'brands', 'action'
=> 'view'));
//Router::connect('/(?!lolot|users|pages|products|produse|produse|
marci)(.*)', array('controller' => 'pages', 'action' => 'view'));
//Router::connect('/*', array('controller' => 'pages', 'action' =>
'view'));
Router::connect('/:page', array('controller' => 'pages', 'action' =>
'view'), array('pass' => array('page'), 'page' => '[a-zA-Z0-9\-\.]
+'));
Router::connect('/', array('controller' => 'pages', 'action' =>
'home'));
(also notice my commented other attepmts that don't work)
This works, in the way that I can access a page through site.com/page-
slug as well as site.com/pages/view/page-slug - but when I insert a
link using $html->link() and specify the controller & action, the
result is site.com/pages/view/page-slug instead of site.com/page-slug
What am I doing wrong? What should I actually do?
Thanks,
Razvan
--
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
No comments:
Post a Comment