I’m new to codeigniter and building web applications using MVC. I’m trying to wrap my head around how I would implement widgets in a modular fashion in my application. My question is more theoretical at this point. I don’t have actual code to show.
What I want to know is this, how would I construct a data-driven widget in such a way that I can simply drop it on to any page that I want. For example, let’s say I have a widget called Widget. I’ve created a model file called /models/widget_model.php. I then have a controller file called /controllers/widget.php. Obviously my controller will use the model to grab necessary data from my database. What I don’t understand is how to use this as a widget dropped onto multiple views. What I’m seeing and understand so far is how to use a controller to drive a specific view. So it’s basically like one controller is used per page. What would be the process of using this widget in a modular fashion I guess?
What you search for is HMVC. There are two common library/packages you can use : Modular CI or HMVC. With that, you can actually put something like
<?php echo Modules::run('module/controller/method', $param, $...); ?>as a widget, in your view files.