[eluser]jedd[/eluser]
Hmm .. a few things spring out there (though I'm having trouble identifying your intent in your MY_Controller)
In your controller, do you extend MY_Controller, or just Controller?
Why - in your controller - are you assigning:
Code:
$this->data = $popular;
This will overwrite any extant data in $this->data. You would instead need to do something like this:
Code:
$this->data['popular'] = $popular;
This means that in your view, later, you'll have a $popular variable to play with. And every young variable wants to be popular.
Most importantly I think is your render() method in your MY_Controller - I do not think it does what you think it will do.
Read up in the [url="http://ellislab.com/codeigniter/user-guide/general/views.html"]CI manual on generating views[/url] - specifically the third parameter being set to TRUE - and then look at your render function again, and probably assign the output of that view generation to a variable, or just return it (I'd go for the former, and test for success/fail before returning anything - but I'm a cautious kind of guy).