0

これが私のコードです。基本的に$bannersそれらを取得して表示します。現時点では2つありますが、最初のコードの後に​​停止し、htmldiv id="footerNews...などを表示し、その後再び続行します。正解です...

    <?php if ($banners) { $i = 1; ?>
<div id="footerBanners">
    <?php foreach ($banners as $banner) { ?>

        <a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" /></a> 

        <?php if ($i == 1) { ?>
            <div id="footerNewsletter">
                <p>Newsletter Sign Up</p>
                <a href="#">Go</a>
                <input type="text" name="email" placeholder="Email address" />
            </div>
            <div id="footerEvents"><a href="<?php echo $events; ?>"><?php echo $text_events; ?></a></div>
        <?php } ?>
    <?php $i++; } ?>
</div>
<?php } ?>

問題は、dont の一部の変数が$banners実際にはリンクを持っていないことです。これを回避するために、リンクがない場合ifは表示しないというステートメントを入れようとしました。<a href>ただし、これはコンテンツの順序を台無しにします。上記のようにコンテンツを正しい順序に保つことが重要です ^. これが私の試みでした。

    <?php if ($banners) { $i = 1; ?>
<div id="footerBanners">
    <?php foreach ($banners as $banner) { ?>
        <?php if ($banner['link'] == '') { ?>
        <img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" /><?php } 
        else { ?>
        <a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" /></a><?php } ?>
        <?php } ?>
        <?php if ($i == 1) { ?>
            <div id="footerNewsletter">
                <p>Newsletter Sign Up</p>
                <a href="#">Go</a>
                <input type="text" name="email" placeholder="Email address" />
            </div>
            <div id="footerEvents"><a href="<?php echo $events; ?>"><?php echo $text_events; ?></a></div>
        <?php } ?>
    <?php $i++; } ?>
</div>

コードは本来の目的を果たしますが、正しい順序で表示されなくなり、リンク可能な 1 つを表示して$bannerから html を表示し、次に画像 (つまり、$bannerリンクのない 2 つ目) を表示します。しかし、同じように表示する必要があります。コードの最初のビットとしてのレイアウト. 画像はサイトの最後に表示されますが、出力された html コードは次のとおりです。

        <div id="footerBanners">
                            <img src="http://mysite.com/image/data/banner4.jpg" alt="Free Delivery" />                          
                            <a href="http://mysite.com/index.php?route=product/category&amp;path=500_509"><img src="http://mysite.com/image/data/banner5.jpg" alt="Gift Vouchers" /></a>                                        <div id="footerNewsletter">
                <p>Newsletter Sign Up</p>
                <a href="#">Go</a>
                <input type="text" name="email" placeholder="Email address" />
            </div>
            <div id="footerEvents"><a href="http://mysite.com/index.php?route=information/information&amp;information_id=17">EVENTS</a></div>
                    </div>

ポインタはありますか?

4

1 に答える 1

1
<?php if ($banners) { 
 echo '<div id="footerBanners">';

 foreach ($banners as $banner) {
    if ($banner['link'] == '') { 
        echo '<img src="'.$banner['image'].'" alt="'.$banner['title'].'" />'; 
    }
    else { 
        echo '<a href="'.$banner['link'].'"><img src="'.$banner['image'].'" alt="'.$banner['title'].'" /></a>';
    }
    if ($first_banner != 'displayed') { 

        echo '<div id="footerNewsletter">
                    <p>Newsletter Sign Up</p>
                    <a href="#">Go</a>
                    <input type="text" name="email" placeholder="Email address" />
                </div>
                <div id="footerEvents"><a href="'.$events.'">'.$text_events.'</a></div>';
        $first_banner = 'displayed';
    }
 }
 echo '</div>';    
}
    ?> 
于 2013-01-18T13:23:30.247 に答える