 <p>I think this is a job for a modular approach: <a href="https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home" rel="nofollow">https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home</a></p> <blockquote> <p><strong>Q. What is Modular HMVC, why should I use it?</strong></p> <p><strong>A.</strong> Modular HMVC = Multiple MVC triads</p> <p>This is most useful when you need to load a view and its data within a view. Think about adding a shopping cart to a page. The shopping cart needs its own controller which may call a model to get cart data. Then the controller needs to load the data into a view. So instead of the main controller handling the page and the shopping cart, the shopping cart MVC can be loaded directly in the page. The main controller doesn’t need to know about it, and is totally isolated from it.</p> <p>In CI we can’t call more than 1 controller per request. Therefore, to achieve HMVC, we have to simulate controllers. It can be done with libraries, or with this “Modular Extensions HMVC” contribution.</p> <p>The differences between using a library and a “Modular HMVC” HMVC class is: 1) No need to get and use the CI instance within an HMVC class 2) HMVC classes are stored in a modules directory as opposed to the libraries directory.</p> </blockquote> <p><a href="http://www.cibonfire.com" rel="nofollow">Bonfire</a> also uses HMVC.</p>