ここにすべてのコードを貼り付けることができましたが、役に立たないかもしれないと思ったので、重要なものを貼り付けようとしました。適切に質問していることを願っていますので、お気軽にご案内ください。以下のロジックを説明し、何が機能していないかを示します。Bootstrap には、次の方法でモデルが動的に作成されるカルーセルがあります。
私。カルーセル開始
<div class="hero-unit" style="padding-right:30px; padding-left:30px; padding-top:30px; padding-bottom: 50px;">
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
</div>
</div>
</div>
ii. モデルへの href リンクを動的に作成する
<div class="hero-unit" style="padding-right:30px; padding-left:30px; padding-top:30px; padding-bottom: 50px;">
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<?php $carouselClass = "active item";
while($r = mysql_fetch_assoc($events))
{
?>
<div class="<?php echo $carouselClass; ?>">
<?php $carouselClass = "item"; ?>
// Here, we create model dynamically
<a role="button" data-toggle="modal" href="#myModel<?php echo $r['_id']; ?>" ><?php echo $r['_name'] ; ?></a>
</div>
</div>
</div>
iii. PHP でパーシャルを使用して Don't Repeat Yourself (DRY) 操作を改善する
<div class="hero-unit" style="padding-right:30px; padding-left:30px; padding-top:30px; padding-bottom: 50px;">
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<?php $carouselClass = "active item";
while($r = mysql_fetch_assoc($events))
{
?>
<div class="<?php echo $carouselClass; ?>">
<?php $carouselClass = "item"; ?>
// Here, we create model dynamically
<a role="button" data-toggle="modal" href="#myModel<?php echo $r['_id']; ?>" ><?php echo $r['_name'] ; ?></a>
<?php require '_actualModel.php'; ?>
</div>
</div>
</div>
iv。_actualModel.php
<div id="myModel<?php echo $r['_id']; ?>" class="modal hide fade" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header center">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<?php echo $r['_body'];
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div> </div>
カルーセルがコンテンツを循環させ、モデルがポップアップするため、これは非常にうまく機能します。ただし、同じページで同じ ID のモデルをカルーセルの外に作成したいとします。私はこのようにそれを行うつもりです。
// Here, we create model which would have the same id as one of them in the carousel
<a role="button" data-toggle="modal" href="#myModel<?php echo $r['_id']; ?>" ><?php echo $r['_name'] ; ?></a>
<?php require '_actualModel.php'; ?>
問題は、カルーセル内のモデル (同じ ID を持つ) がその時点でアクティブな場合にのみ、カルーセルの外で作成されたモデル (同じ ID を持つ) がポップアップすることです。つまり、表示されています。アクティブでないか表示されていない場合、背景はグレー表示されますが、ポップアップ モデルは表示されません。内部の同じ ID が表示されていません - まだ画像をアップロードできません :)][3]
同じ ID のモデルを使用する理由は、それらがまったく同じ情報を持っているためであり、DRY プラクティスを実装しようとしていることを述べてもよろしいですか。インデントでごめんなさい。