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. Link to comment https://forums.phpfreaks.com/topic/285856-cakephp-am-i-using-routing-incorrectly/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.