5

我对 Codeigniter 还很陌生,我的目标是在学习时遵循最佳实践。目前我有一个通过 DB 生成的表

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

模态

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

该链接调用一个引导模式,我想在其中传递所选画廊的数据。我知道我可以通过 jQuery 传递数据,但是是否可以在 MVC 框架中保留此模式,如果可以,如何通过模式链接调用控制器?

非常感谢您的帮助,并且很乐意接受有关 CodeIgniter 资源的任何建议。我目前正在浏览 Nettuts 视频,尽管它们已经过时了,并且还在浏览用户指南。

4

2 回答 2

4

我真的认为你误解了 modal 是什么以及控制器是什么,如果没有 ajax 调用,你就无法做到这一点: how does one go about calling the controller via the modal link

我通常做的是创建一个view/modals/文件夹,然后将我所有的引导模式放在那里,例如:

application/views/modals/my_modal_form.php

这看起来就像你展示的那样,里面:

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

所以当我需要那个单一的模态时,我只需将它加载到主控制器视图中,我想简单地显示那个模态:

    <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>
于 2012-12-31T14:43:09.073 回答
0

Ajax 是要走的路,我制作了一个模板库,我在其中加载了所有模态,以便可以从应用程序上的任何位置由 javscript 调用它们,然后使用 ajax 提交表单

于 2013-02-21T19:10:39.750 回答