"景先生毕设|www.jxszl.com

织梦调用自定义字段中的第一张图片(含第二张第三张)

2022-10-29 16:42编辑: www.jxszl.com景先生毕设
同样是做公司的装修站,要在I.个专题页下面调用案例的文章,这次的调用比较诡异,不仅要调用自定义字段还要调用文章的前III张图片来展示出来,效果如下:
织梦调用自定义字段中的第I.张图片(含第II张第III张)
DedeCMS调用自定义字段中的第I.张图片(含第II张第III张)

 更多精彩就在: 51免费论文网|www.jxszl.com 
/>
I..调用自定义字段中的第I.张图片方法,打开include/extend.func.php,在最下面添加代码:
//取案例第I.张地址
functionGetFirstImg($arcid){
global$dsql;
$query="SELECTanlsmFROM`dede_addonI.VII`whereaid=$arcid";
$row=$dsql->GetOne($query);
$preg="//i";
preg_match_all($preg,$row[anlsm],$match);
//print_r($match);
return$match[I.][0];
}

再打开include/taglib/arclist.lib.php,搜索代码(大概在第VI.IV行):

$row[fulltitle]=$row[title];


在下面添加代码:

$row[firstimgurl]=GetFirstImg($row[id]);

这样就能调用自定义字段的第I.个图片了,调用标签为:




当然,如果你自定义的字段中没图片,获取的地址就是空的.

II.调用自定义字段中的第II张.第III章图片方法,打开include/extend.func.php,在最下面添加代码:
//取案例第II张地址
functionGetSecImg($arcid){
global$dsql;
$query="SELECTanlsmFROM`dede_addonI.VII`whereaid=$arcid";
$row=$dsql->GetOne($query);
$preg="//i";
preg_match_all($preg,$row[anlsm],$match);
//print_r($match);
return$match[I.][I.];
}

//取案例第III张地址
functionGetThirImg($arcid){
global$dsql;
$query="SELECTanlsmFROM`dede_addonI.VII`whereaid=$arcid";
$row=$dsql->GetOne($query);
$preg="//i";
preg_match_all($preg,$row[anlsm],$match);
//print_r($match);
return$match[I.][II];
}

再打开include/taglib/arclist.lib.php,搜索代码(大概在第VI.IV行):

$row[fulltitle]=$row[title];


在下面添加代码:

$row[secondimgurl]=GetSecImg($row[id]);
$row[thirdimgurl]=GetThirImg($row[id]);


这样就能调用自定义字段的第II个和第III个图片了,调用标签为:

//第II张图片的调用

//第III张图片的调用

不难看出,原理都是I.样的,通过数据库查找附加表中自定义字段的内容,匹配图片,而区别第I.个和第II个等图片的方法就是用数组判断:

$match[I.][I.];//第II张图片的调用

$match[I.][II];//第III张图片的调用

依次类推,我们可以初步实现很多图片的调用了,这个方法不仅适用于自定义字段还适用于文章页等,唯I.要变的就是换下查询的表名和字段名就可以了.


原文链接:http://www.jxszl.com/biancheng/dedecms/76582.html