Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 缩略图限制最大值'';6'';_Php_Drupal_Module_Drupal Modules_Field - Fatal编程技术网

Php 缩略图限制最大值'';6'';

Php 缩略图限制最大值'';6'';,php,drupal,module,drupal-modules,field,Php,Drupal,Module,Drupal Modules,Field,我正在使用Drupal 7并为我的内容缩略图创建一个模块,用于frontpage显示。为此开展工作: if(count($p_detail->field_slide) > 0){ $output .= '<div class="right">'; $output .= '<ul class="thumbs">'; $i=6; foreach($p_detail-&

我正在使用Drupal 7并为我的内容缩略图创建一个模块,用于frontpage显示。为此开展工作:

 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>';
        }
if(计数($p\u细节->字段\u幻灯片)>0){
$output.='';
$output.='
    '; $i=6; foreach($p_detail->field_slide['und']作为$thumb): $img_path=$thumb['uri']; $img_url=image_style_url($tmb_240x117',$img_path); $img_文件='标题'“/>”; $output.='
  • 0“$i.”
  • '; $i--; endforeach; $output.='
'; $output.=''; }
我的缩略图、字段和幻灯片,我只想要前6个缩略图(如果有6个图像…用于考试,有2个图像,显示2个缩略图)


我该怎么做呢?

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

你可以做两件事:

答案1(首选):

限制从数据源(通常是数据库)检索并存储在以下位置的项目数:

$p_detail->field_slide
答案2(简单但不太好的方法):

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

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

您可以将一个参数传递给您的方法,并返回您的资源,该参数告诉您的方法您希望接收的资源量,然后在sql查询中使用此参数进行限制。

Right?$i=6;foreach($p\U detail->field\U slide['und']as$thumb){if($i>0){if(count($p\U detail->field\U slide)>0){$output.='';$output.='
    '$i=1;foreach($p_detail->field_slide['und']as$thumb):$img_path=$thumb['uri'];$img_url=image_style_url($tmb_240x117',$img_path);$img_file='title'”/>';是的,应该这样做。虽然我读得不太好,但我可能会错过一些东西。由于您选择了简单的方法,以后可能会遇到麻烦。例如,如果您的数据库中有10.000.000条记录,您现在要求所有10.000.000条记录,并在最后一刻限制它们。您应该尝试限制检索到的记录在$p_detail->field_幻灯片中存储ORD之前。。。