原创:为dedecms图集注释下增加一链接,内容页调用注释和链接

因项目需要,需要为图集注释下增加一字段链接,结果如图,纯粹原创,QQ:403236160。如有不当,请指教。
原创:为dedecms图集注释下增加一链接,内容页调用注释和链接_第1张图片

一:在dede/js/handlers.js
newImgDiv.innerHTML += '<div style="margin-top:10px">注释:<input type="text" name="picinfo'+albImg+'" value="" style="width:'+iptwidth+'px;" /></div>';
修改为:
newImgDiv.innerHTML += '<div style="margin-top:1px">注释:<input type="text" name="picinfo'+albImg+'" value="" style="width:'+iptwidth+'px;" /></div><div style="margin-top:1px">链接:<input type="text" name="picinfourl'+albImg+'" value="" style="width:'+iptwidth+'px;" /></div>';

二:dede/album_add.php
$imgurls .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
修改为:
$imgurls .= "{dede:img ddimg='$litpicname' text='' text2='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";

$imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n";
修改为:
$imginfourl =  !empty(${'picinfourlok'.$k}) ? ${'picinfourlok'.$k} : '';
$imgurls .= "{dede:img ddimg='$v' text='$imginfo' text2='$imginfourl' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n";

三:dede/templets/album_edit.htm
$fhtml .= "    <div style='margin-top:10px'>注释:<input type='text' name='imgmsg{$j}' value='".$ctag->GetAtt('text')."' style='width:190px;' /></div>\r\n";
修改为:
$fhtml .= "    <div style='margin-top:1px'>注释:<input type='text' name='imgmsg{$j}' value='".$ctag->GetAtt('text')."' style='width:190px;' /></div>\r\n";
$fhtml .= "    <div style='margin-top:1px'>链接:<input type='text' name='imgmsg2{$j}' value='".$ctag->GetAtt('text2')."' style='width:190px;' /></div>\r\n";

四:dede/album_edit.php

1》两处
$iinfo = str_replace("'", "`", stripslashes(${'imgmsg'.$i}));
改为:
$iinfo = str_replace("'", "`", stripslashes(${'imgmsg'.$i}));
$iinfo2 = str_replace("'", "`", stripslashes(${'imgmsg'.$i}));

2》两处
$imgurls .= "{dede:img ddimg='$ddurl' text='$iinfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
改为:
$imgurls .= "{dede:img ddimg='$ddurl' text='$iinfo' text2='$iinfo2' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";

3》两处
$imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
改为:
$imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' text2='$iinfo2' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";

5》一处
$imgurls .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";

改为:
$imgurls .= "{dede:img ddimg='$litpicname' text='' text2='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";

4》一处
$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
改为:
$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
$imginfourl =  !empty(${'picinfookurl'.$k}) ? ${'picinfookurl'.$k} : '';
 
5》
$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
$imgurls .= "{dede:img ddimg='$litpicname' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n";
改为:
$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
$imginfourl =  !empty(${'picinfookurl'.$k}) ? ${'picinfookurl'.$k} : '';
$imgurls .= "{dede:img ddimg='$litpicname' text='$imginfo'  text2='$imginfourl' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n";

五:在include/common.inc.php下加一段这样的文字
//取得图集列表的图片以及文字
	function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){
		global $dsql;
		$imgurls = '';
		$row = $dsql -> getone("Select imgurls From`mth_addonimages` where aid='$aid'"); 
		$imgurls = $row['imgurls'];
		preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU", $imgurls, $wordcount);
		$textinfo=$wordcount[1];
		$count = count($wordcount[2]);
		if ($num > $count || $num == 0){
			$num = $count;
		}
		for($i = 0;$i < $num;$i++){
			if($style == 'li'){
				$textinfoe=$textinfo[$i];
				$textinfoee=explode(" ",$textinfoe);
				$imglist .= "<li><a href=\"".substr($textinfoee[2],7,-1)."\" target=\"_blank\"><img src=\"". trim($wordcount[2][$i]) ."\" width=\"" . $imgwith . "\" height=\"" . $imgheight . "\"></a><span><a href=\"".substr($textinfoee[2],7,-1)."\" target=\"_blank\">".substr($textinfoee[1],6,-1)."</a></span></li>";
				}else{
				$imglist .= "<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">";
			}
		}
		return $imglist;
	}

六:在图集的内容页引用
<ul id="products2">
    {dede:field.id function="Getimgs(@me,100,75,0,li)" /}
</ul>
对应的CSS样式
#products2 {margin:5px auto;}
#products2 li {width:115px;height:117px;float:left;display:inline;}
#products2 li a {display:block;}
#products2 li a img {padding:5px;background:#cdcdcd;}
#products2 li span a {width:110px;height:30px;line-height:24px;text-align:center;white-space:nowrap;text-overflow:ellipsis; overflow: hidden;}



注释:
生成的表会在 dede_addonimages 表中,字段 imgurls 的结构形式是:
{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='2'/}
{dede:img ddimg='/uploads/allimg/130915/1-130915001509.jpg' text='中国1url2' text2='中国1url2' width='1366' height='768'} /uploads/allimg/130915/1-130915001509.jpg {/dede:img}





你可能感兴趣的:(原创:为dedecms图集注释下增加一链接,内容页调用注释和链接)