如何使用循环隐藏css border-right以获得cakephp中的偶数计数

时间:2011-09-24 06:18:33

标签: cakephp

我正在使用cakephp,下面是我的示例代码以及我正在做的CSS

<div class="thumbs">
    <?php if(!empty($auction['Product']['Image']) && count($auction['Product']['Image']) > 0):?>
        <?php foreach($auction['Product']['Image'] as $image):?>
            <?php if(!empty($image['ImageDefault'])) : ?>
                <span><?php 
                    echo $html->link(
                        $html->image('default_images/'.$appConfigurations['serverName'].'/thumbs/'.$image['ImageDefault']['image']), 
                        '/img/'.$appConfigurations['currency'].'/default_images/max/'.$image['ImageDefault']['image'], 
                        array('class' => 'productImageThumb'), 
                        null, 
                        false);?>
                </span>
            <?php endif; ?>
        <?php endforeach;?>
    <?php endif;?>
</div>

.thumbs span //css for how to display the images
{
    float:left;
    width:75px; //this displays two images as a thumbnail in a single row
    margin:12px;
    border-right:1px solid #d5d5d5;
    padding:3px;
}

我的问题是我想为所有计数为偶数的图像执行css border-right:none。我尝试在代码的span中使用for循环,但没有得到结果。请建议我如何仅针对奇数计数的拇指图像动态执行css border-right,而不是偶数数字。

1 个答案:

答案 0 :(得分:2)

将键添加到foreach循环中,并使用键向奇数图像添加一个新类(假设这是一个标准的Cake查询结果,其中键可靠地递增1):

foreach( $auction['Product']['Image'] as $key => $image ):
    $odd = ( $key % 2 ) ? ' oddImage' : '';
    ....
        array( 'class' => 'productImageThumb'.$odd ), 
    ....

.oddImage {
    border-right:1px solid #d5d5d5;
}

(Protip:您不必将每一行PHP都包装到<?php ... ?>标签中。如果只在需要输出纯HTML时关闭PHP标签,代码将更具可读性。)