Php 缩略图限制最大值'';6'';
我正在使用Drupal 7并为我的内容缩略图创建一个模块,用于frontpage显示。为此开展工作: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-&
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之前。。。