DEDE织梦cms常用的参数标签汇总、以及操作过程中的一些bug问题解决方法,dede网站二开,以下龙腾飞网络科技-小吴在建站实操中笔记记录,织梦dede建站教程保存使用非常方便:
【DEDE建站教程】dede织梦文章页调用文章boby中多张图片
开发织梦模板时,需要独立提取文章内容页 body字段中(可以是自定义字段名称)图片,可以自定义调用图片数量值。
函数代码
请将代码加入到 includeextend.func.php 文件中
function getbodypics($string, $num) { preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/",$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= "<img src="$imgsrc"/>"; $i++; } return $result; } // $result .= "<img src="$imgsrc"/>"; 这里可以给调用图片增加一些样式等。 // 例如:$result .= "<img class='imgs' src="$imgsrc"/>";
同时到网站后台-内容模型管理-普通文章“模型列表附加字段”增加 body
函数调用方法
在 dede:arclist 和 dede:list 标签中调用代码如下:
{dede:arclist addfields='body' channelid='1' row='8'} [field:body function=getbodypics(@me,3)/] {/dede:arclist} <!-- body 可以改为自定义字段名称。channelid为内容模型id,数字3,为调用图片数量,可以根据需要更改 --> {dede:list} [field:body function=getbodypics(@me,3)/] {/dede:list} <!--body 可以改为自定义字段名称,但是需要在新建自定义字段时,一定要选择 【使字段可以在列表的底层模板中获得】-->
在内容模板中的调用代码:
{dede:arclist addfields='body' channelid='1' row='8'} {dede:field.body function=getbodypics(@me,3)/} $row['secondimgurl'] = GetSecImg($row['id']); $row['thirdimgurl'] = GetThirImg($row['id']); $row['fourthimgurl'] = GetFourImg($row['id']); $row['fifthimgurl'] = GetFifImg($row['id']); //取案例第二张地址 function GetSecImg($arcid){ global $dsql; $query= "SELECT anlsm FROM `dede_addonarticle17` where aid='$arcid'"; $row = $dsql->GetOne($query); $preg = "//i"; preg_match_all($preg, $row['anlsm'], $match); //print_r($match); return $match[1][1]; } //取案例第三张地址 function GetThirImg($arcid){ global $dsql; $query= "SELECT anlsm FROM `dede_addonarticle17` where aid='$arcid'"; $row = $dsql->GetOne($query); $preg = "//i"; preg_match_all($preg, $row['anlsm'], $match); //print_r($match); return $match[1][2]; } //取案例第四张地址 function GetFourImg($arcid){ global $dsql; $query= "SELECT anlsm FROM `dede_addonarticle17` where aid='$arcid'"; $row = $dsql->GetOne($query); $preg = "//i"; preg_match_all($preg, $row['anlsm'], $match); //print_r($match); return $match[1][3]; } //取案例第五张地址 function GetFifImg($arcid){ global $dsql; $query= "SELECT anlsm FROM `dede_addonarticle17` where aid='$arcid'"; $row = $dsql->GetOne($query); $preg = "//i"; preg_match_all($preg, $row['anlsm'], $match); //print_r($match); return $match[1][4]; }