Я довольно новичок в 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, хотя они датированы, а также работает через руководство пользователя.
я действительно думаю, что вы неправильно понимаете, что такое модальное и что такое контроллер, вы не можете сделать это без вызова 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>
Ajax – это способ пойти, я создал библиотеку шаблонов, в которой я загружаю все свои модальности, чтобы их можно было вызвать javscript из любого места приложения, а затем использовать ajax для отправки форм