I'm adding categories, products (along with category id) in admin panel and i want to show the products list category wise in the simple url as:
localhost/project_folder/[:category_name]
insted of
localhost/project_folder/HomeController/action/[:category_name]
and also i want to show the products deatils in the simple url as:
localhost/project_folder/[:product_id]
insted of
localhost/project_folder/HomeController/action/[:product_id]
I want to show all the details by using HomeController only.
By solution of How to remove action name from url in cakephp?, listing of products by category is working but product details are not working.
I got product list by category_name
as below:
Router::connect
'/:param',
array('controller' => 'Home', 'action' => 'category'),
array('pass' => array('param'))
);
But the details of product is not working if i used below one:
Router::connect(
'/:param1',
array('controller' => 'Home', 'action' => 'details'),
array('pass' => array('param1'))
);
Your router will get confused if you used this configuration (cause they are the same), you have to difference them by defining the nature of param
Router::connect('/:param', array('controller' => 'Home', 'action' => 'category'), array(
'pass' => array('param'),
'param' => '[a-zA-Z_]{1}[a-zA-Z_0-9]*' // Accepts just words (category names slugged with _ caracter)
));
Router::connect('/:param1', array('controller' => 'Home', 'action' => 'details'), array(
'pass' => array('param1'),
'param1' => '[1-9]{1}[0-9]*' //Accepts just integers (product ids)
));