缩略图限制最大''6''

时间:2012-05-11 13:41:08

标签: php drupal module drupal-modules field

我正在使用Drupal 7并为我的内容缩略图首页显示创建一个模块。工作:

 if(count($p_detail->field_slide) > 0){
            $output .= '<div class="right">';
            $output .= '<ul class="thumbs">';
            $i=6;
            foreach($p_detail->field_slide['und'] as $thumb):
                $img_path = $thumb['uri'];
                $img_url = image_style_url('tmb_240x117', $img_path);
                $img_file = '<img src="'.$img_url.'" alt="'.$p_detail->title.'" />';


                $output .= '<li>
                                <a href="'.$p_url.'">
                                    '.$img_file.'
                                    <div class="shadow"></div>    
                                    <div class="hoverimg"></div>
                                 </a>
                                <div class="img_no">0'.$i.'</div>
                            </li>';
                $i--;
            endforeach;
            $output .= '</ul>';
            $output .= '</div>';
        }

我的缩略图,field_slide和我只想要前6个缩略图(如果有6张图片......用于检查,有2张图片,显示2张缩略图)

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您应该尽量不在PHP代码中使用HTML。我强烈建议使用一些模板。但无论如何,要回答你的问题:

你可以做两件事:

回答1(首选):

限制从数据源(通常是数据库)中检索到的项目数量,这些项目存储在:

$p_detail->field_slide

回答2(简单,不太好):

创建一个计数器($ i)并在foreach中使用if语句。类似的东西:

$i = 6;
foreach($p_detail->field_slide['und'] as $thumb) {
    if($i > 0) {
        // Your current code here
        $i--;
    }
}

答案 1 :(得分:0)

您可以通过返回资源将参数传递给方法,该参数告诉您的方法您希望接收的资源量,然后在SQL查询中使用此参数来限制。