2012-12-04 20 views
5

Sono un po 'nuovo a Codeigniter e cerco di seguire le migliori pratiche man mano che imparo. Attualmente ho una tabella che viene generato tramite DBCodeigniter - Bootstrap Modal - dati di passaggio

tabella HTML

<tr> 
    <td> 
     <a class="galName" href="#myModal" data-toggle="modal" > 
     <?php echo $gal['name']; ?> 
     </a> 
    </td> 
    <td> 
     <?php echo $gal['clientName']; ?> 
    </td> 
</tr> 
<?php endforeach; ?> 

Il modale

<div class="modal fade hide modal-creator" id="myModal" style="display: none;" aria-hidden="true"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">×</button> 
     <h3>Edit Gallery</h3> 
    </div> 
    <div class="modal-body"><?php echo form_open('url'); ?> 

    <div class="row"> 
     <div class="span5"> 
      <?php print_r($galleryName); ?> 
      <div class="control-group"> 
       <?php 
        $galleryName = array(
         'id'   => 'galleryName', 
         'name'   => 'galleryName', 
         'placeholder' => 'Gallery Name', 
         'required'  => 'required', 
        ); 
        echo form_label('Gallery Name:', 'galleryName'); 
        echo form_input($galleryName); 
       ?> 
      </div><!-- /control-group --> 
     </div><!--/span5--> 
    </div><!--/row--> 
</div><!-- /modal-body --> 

<div class="modal-footer"> 
    <!-- <p class="span3 resize">The following images are sized incorrectly. Click to edit</p> --> 
    <a href="javascript:;" class="btn" data-dismiss="modal">Close</a> 
    <a href="javascript:;" class="btn btn-primary">Next</a> 
</div> 

Il collegamento chiama un modale bootstrap dove voglio per passare i dati per la galleria selezionata. So che posso passare i dati tramite jQuery, ma è possibile mantenere questa modale nel framework MVC e se sì come si fa a chiamare il controller tramite il collegamento modale?

Grazie mille per l'aiuto, e sarei felice di accettare qualsiasi suggerimento sulle risorse per CodeIgniter. Attualmente sto lavorando attraverso i video di Nettuts, anche se sono datati, e funzionano anche attraverso la guida dell'utente.

+0

Generalmente inserisco le modali nei miei file di visualizzazione. Quindi, ogni volta che vuoi farlo apparire (o qualsiasi altra cosa) puoi usare l'evento per caricare i dati sul modulo modale con una richiesta Ajax. – Rooster

+0

Dovresti dare un'occhiata all'opzione ['remote'] (http://twitter.github.com/bootstrap/javascript.html#modals) del modale, ma tutto sommato, avrai bisogno di JS/jQuery chiamando il quadro tramite Ajax. Cosa intendi per "mantenere la modale nel framework MVC"? – Sherbrow

+0

@Sherbrow - volevo solo che il modal fosse gestito dal controller, avendo così accesso al mio modello, sembra che Ajax sia il mio esempio. – Bungdaddy

risposta

4

Credo davvero che si sta equivoco quello modale è e ciò che un controllore è, non si può fare questo senza Ajax chiamata: how does one go about calling the controller via the modal link

quello che faccio di solito è quello di creare una cartella view/modals/ poi messo lì tutta la mia bootstrap modali così per esempio:

application/views/modals/my_modal_form.php 

e che la volontà guarda come si mostrato, all'interno:

<div class="modal fade hide modal-creator" id="myModal" style="display: none;" aria-hidden="true"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">×</button> 
     <h3>Edit Gallery</h3> 
    </div> 
    <div class="modal-body"><?php echo form_open('url'); ?> 

    <div class="row"> 
     <div class="span5"> 
      <?php print_r($galleryName); ?> 
      <div class="control-group"> 
       <?php 
        $galleryName = array(
         'id'   => 'galleryName', 
         'name'   => 'galleryName', 
         'placeholder' => 'Gallery Name', 
         'required'  => 'required', 
        ); 
        echo form_label('Gallery Name:', 'galleryName'); 
        echo form_input($galleryName); 
       ?> 
      </div><!-- /control-group --> 
     </div><!--/span5--> 
    </div><!--/row--> 
</div><!-- /modal-body --> 

<div class="modal-footer"> 
    <!-- <p class="span3 resize">The following images are sized incorrectly. Click to edit</p> --> 
    <a href="javascript:;" class="btn" data-dismiss="modal">Close</a> 
    <a href="javascript:;" class="btn btn-primary">Next</a> 
</div> 

così quando ho bisogno esimo alla singola modale ho appena caricarlo all'interno della vista principale regolatore voglio mostrare che modale facendo semplicemente:

<body> 
    <?php echo $this->load->view('modals/my_modal_form'); ?> 

    <tr> 
    <td> 
     <a class="galName" href="#myModal" data-toggle="modal" > 
     <?php echo $gal['name']; ?> 
     </a> 
    </td> 
    <td> 
     <?php echo $gal['clientName']; ?> 
    </td> 
</tr> 
<?php endforeach; ?> 
    </body> 
0

Ajax è la strada da percorrere, ho fatto una libreria di modelli in wich i caricare tutti i miei modali in modo da può essere chiamato da javscript da qualsiasi punto dell'app, quindi utilizzare ajax per inviare i moduli

Problemi correlati