如何让dede图集列表页调用多图

 我来答
huanglenzhi
2016-08-10 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517185
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  系统默认的图集是不支持在列表页内调用图片,我们需要借助preg_match_all函数来让dede可以支持一个新的标签调用。
  从include/common.func.php添加一个调用函数

  
  //dede列表页输出多张图片
  function listimgs($aid, $imgwith = 500, $imgheight = 300, $num = 0, $style = ''){
  global $dsql;
  $imgurls = '';
  $row = $dsql -> getone("Select imgurls From`dede_addonimages` where aid='$aid'"); //
  $imgurls = $row['imgurls'];
  preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU", $imgurls, $wordcount);
  $count = count($wordcount[2]);
  if ($num > $count || $num == 0){
  $num = $count;
  }
  
  for($i = 0;$i < $num;$i++){
  if($style == 'li'){
  $imglist .= "<li><ahref=#" . $i . "><imgsrc=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>";
  }else{
  $imglist .= "<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">";
  }
  }
  return $imglist;
  }

  保存后,在图集列表页{dede:list}之间使用[field:id function="listimgs(@me,100,100,9)" /],如:

  {dede:list pagesize='25'}
  [field:id function="listimgs(@me,70,100,9)" /]
  {/dede:list}
  
  如在其他地方调用该标签,就用:{dede:field.id function="listimgs(@me,200,160,10)" /}
  (@me,200,160,10)参数为,200宽度,160高度,图片调用张数,末尾可以加上“,li”的参数,使图片循环带li标签。
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式