2012-08-25 9 views
0

J'ai la disposition here et je veux insérer le menu dans la disposition du menu. Dernièrement, j'utilise frameset pour résoudre ce problème, mais cette fois, je veux essayer d'utiliser un div au lieu de frameset et aussi par CodeIgniter.Comment charger la page en div pour CodeIgniter

Lorsque le menu avec succès, donc je peux charger la forme à la forme mise en page: D

Comment puis-je faire dans le cadre CodeIgniter?

+3

Si vous ne savez pas comment faire cela, vous ne comprenez pas les bases de MVC. Je vous suggère de lire la documentation [CodeIgniter] (http://codeigniter.com/user_guide/) (en particulier les parties MVC). –

+1

Je suppose que par la structure de cette question, vous n'utilisez pas encore codeigniter. Es-tu sûr que tu es prêt pour ça? –

+0

Quel code as-tu essayé? –

Répondre

1

vous avez deux choix est de charger directement la vue dans la vue comme celui-ci

<div id="sidebar"> 

<?php $this->load->view('template/sidebar.php'); ?> 

</div> 

Ou passer comme une variable du contrôleur et de l'écho dans la vue comme celui-ci

function index(){ 

$data['sidebar'] = $this->_get_sidebar(); 
$this->load->view('home',$data); 
} 

function _get_sidebar(){ 

return $this->load->view('template/sidebar',TRUE); 

} 

et sur la vue

<div id="sample"> 
    <?php echo $sidebar;?> 
</div> 

Goodluck!

0

Vous ne chargez pas pages à l'intérieur d'un div, mais vues. Je voudrais aller comme ceci:

Contrôleur main.php

Class Main extends CI_Controller{ 

    function index() 
    { 
    $this->load->model('mymodel'); 
    $data['menu_items'] = $this->mymodel->get_menu(); 
    $this->load->view('layout', $data); 
    } 
} 

Maintenant vous avez menu_items variable $ disponible dans votre layout.php vue. Une approche nette consisterait à charger la vue "partiels" dans une vue "maître" (toutes les vues chargées dans une autre ont la variable à leur disposition). SO, quelque chose comme ceci:

vues/layout.php

<!DOCTYPE html> 
<html><head><title></title></head> 
<body> 
    <header> 
     <?php $this->load->view('partials/header'); ?> 
    </header> 

    <section> 
    <aside> 
    <nav> 
     <?php $this->load->view('partials/menu');?> 
    </nav> 
    </aside> 
     <article> 
     <?php $this->load->view('partials/content');?> 
     </article> 
    </section> 
    <footer> 
     <?php $this->load->view('partials/footer');?> 
</footer> 
</body> 
</html> 

Maintenant, vous créez les partials dans la vue du dossier/partials /, et ils auront la variable passée dans votre contrôleur à la vue de la mise en page .

fichier views/partials/menu.php

<ul> 
    <?php foreach($menu_items as $item): ?> 
    <li><?php echo $item['name'];?></li> 
    <?php endforeach;?> 
</ul> 
+0

Vous ne devez pas passer la variable '$ data' dans la vue pour qu'elle soit accessible? alors '$ this-> load-> view ('layout')' serait '$ this-> load-> view ('layout', $ data);' – dangel

+0

Bien sûr, j'ai juste oublié d'écrire il. Réponse mise à jour, merci –

Questions connexes