2012-12-04 9 views
5

Ich bin ziemlich neu in Codeigniter und dem Ziel am besten Praxis zu folgen, wie ich lernen. Zur Zeit habe ich eine Tabelle, dieCodeigniter - Bootstrap Modal - Übergabe von Daten

über DB erzeugt wird

HTML Tabelle

<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; ?> 

Der Modal

<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> 

Der Link ruft eine Bootstrap-modal, wo ich will um die Daten für die ausgewählte Galerie zu übergeben. Ich weiß, dass ich die Daten über jQuery weitergeben kann, aber ist es möglich, dieses Modal im MVC-Framework zu behalten, und wenn ja, wie wird der Controller über die Modal Link aufgerufen?

Vielen Dank für die Hilfe, und würde gerne Anregungen auf Ressourcen für CodeIgniter zu akzeptieren. Ich arbeite gerade an den Nettuts Videos, obwohl sie veraltet sind, und arbeiten auch durch das Benutzerhandbuch.

+0

ich die Modalverben meiner Ansicht nach Dateien im allgemeinen setzen. Wann immer Sie wollen, dass es auftaucht (oder was auch immer), können Sie das Ereignis verwenden, um Daten auf dem modalen Formular mit einer Ajax-Anfrage zu laden. – Rooster

+0

Sie sollten sich die ['remote' Option] (http://twitter.github.com/bootstrap/javascript.html#modals) des Modals ansehen, aber unter Berücksichtigung aller Dinge benötigen Sie JS/jQuery, das den Aufruf aufruft Framework über Ajax. Was meinst du damit, "das Modal im MVC-Rahmen zu halten"? – Sherbrow

+0

@Sherbrow - wollte nur das Modal von Controller verwaltet haben, so dass Zugriff auf mein Modell, sieht aus wie Ajax ist mein zu diesem Thema. – Bungdaddy

Antwort

4

ich wirklich denke, du Missverständnis, was modal ist und was ein Controller ist, können Sie nicht dieser Anruf ohne Ajax tun: how does one go about calling the controller via the modal link

, was ich tun in der Regel ist ein view/modals/ Ordner dann dort alle meine Bootstrap setzen zu erstellen Modalverben so zum Beispiel:

application/views/modals/my_modal_form.php 

und das wird aussieht wie Sie, innen gezeigt:

<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> 

so, wenn ich brauche th bei einzelnen modal i innerhalb der Hauptsteuerung Ansicht laden Sie es einfach ich einfach tun, dass die modale wollen zeigen:

<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 ist der Weg zu gehen, den ich machte ich laden alle meine eine Template-Bibliothek in Wich Modalverben, so dass sie kann durch javscript von überall auf der App aufgerufen wird, dann aJAX verwenden, um die Formulare einreichen