shlumph Posted June 15, 2008 Share Posted June 15, 2008 Hi, I'm a complete newb trying to learn the zend framework. I set up a 'master page' with zend_layout, and the "content" section is working fine with my controllers/views. However, I want my sidebar to be dynamic as well, and I can't figure out how. My directory structure looks like this: +application +default +controllers -IndexController.php +layouts -layout.phtml +models +views +scripts +index -sidebar.phtml My simplified layout.phtml file looks like this: <html> <body> <div id="content"> <?php echo $this->layout()->content; ?> </div> <div id="navigation"> </div> <?php echo $this->layout()->sidebar; ?> </body> </html> This is an example of one of my controllers: <?php class IndexController extends Zend_Controller_Action { public function init(){ $response = $this->getResponse(); $response->insert('sidebar', $this->view->render('sidebar.phtml')); } //other functions below My sidebar.phtml file looks something like this: <div class="navigation"> <h1>Recent Posts</h1> <ul> <?php echo $this->iWantToBeDynamic; ?> </ul> </div> <div class="navigation"> <h1>Categories</h1> <ul> <?php echo $this->iWantToBeDynamic; ?> </ul> </div> Is it possible to add a controller to my sidebar.phtml file? If so, how, if not, what is the best possible way to make this sidebar dynamic? Quote Link to comment https://forums.phpfreaks.com/topic/110303-dynamic-sidebar-content-w-zend-framework/ Share on other sites More sharing options...
shlumph Posted June 15, 2008 Author Share Posted June 15, 2008 Ok, I made a "classes" folder in my application directory, and made a "Sidebar" class, that accesses a model. Then I created an instance of that Sidebar class in my sidebar.phtml view. That's the best I could come up with, seems to work fine. Zend is overwhelming me. Quote Link to comment https://forums.phpfreaks.com/topic/110303-dynamic-sidebar-content-w-zend-framework/#findComment-565974 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.