CrimpJiggler Posted February 1, 2014 Share Posted February 1, 2014 I have 5 tables for different kinds of substances (plants, compounds, products, preparations etc.), and I don't make a controller and views for each of these tables, it would make more sense to use a single controller for each of them, so heres what I did, I added this to the routes.php file: Router::connect('/Substances', array('controller' => 'menus', 'action' => 'display', 'main')); Router::connect('/Compounds',array('controller' => 'Substances')); Router::connect('/Plants',array('controller' => 'Substances')); Router::connect('/Preparations',array('controller' => 'Substances')); Router::connect('/Products',array('controller' => 'Substances')); Router::connect('/Ailments',array('controller' => 'Substances')); Router::connect('/Plants/:action/*',array('controller' => 'Substances')); Router::connect('/Preparations/:action/*',array('controller' => 'Substances')); Router::connect('/Products/:action/*',array('controller' => 'Substances')); Router::connect('/Ailments/:action/*',array('controller' => 'Substances')); Router::connect('/Compounds/:action/*',array('controller' => 'Substances')); so now they are all directed to a single controller called Substances. In case someone tries to go to /Substances, I routed that to a static, main menu page. In the SubstancesController.php file, I added this: public $uses = array('Formulation','Compound','Preparation','Ailment','Plant'); and now to find out which table it needs to load the data from, I get the model name from the URL: $this->modelName = Inflector::classify(explode('/',$this->request->url)[0]); Its up and running, but I'm starting to encounter glitches. I have a feeling I'm doing things the wrong way. I'm hoping some experienced cake programmers here can give me some tips on how they'd handle this kinda scenario. Quote Link to comment https://forums.phpfreaks.com/topic/285856-cakephp-am-i-using-routing-incorrectly/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.