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

モーダルとは何か、コントローラーとは何かを誤解していると思います。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 を使用する方法です。すべてのモーダルをロードするテンプレート ライブラリを作成して、アプリのどこからでも javascript で呼び出すことができるようにし、ajax を使用してフォームを送信します。

于 2013-02-21T19:10:39.750 に答える