dede5.7将图片的ALT注释设置为文章标题且点击图片进入下一页,最后一页进入下一篇
dede5.7将图片的ALT注释设置为文章标题且点击图片进入下一页,最后一页进入下一篇。
dede5.7将图片的ALT注释设置为文章标题且点击图片进入下一页,最后一页进入下一篇
首先对你的include/arc.archives.class.php文件进行一个备份,以免出错后好修改。
1、编辑打开include/arc.archives.class.php
2、查找如下代码:
/** * 解析模板,对固定的标记进行初始给值 * * @access public * @return void */ function ParseTempletsFirst() { if(empty($this->Fields['keywords'])) { $this->Fields['keywords'] = ''; } if(empty($this->Fields['reid'])) { $this->Fields['reid'] = 0; } $GLOBALS['envs']['tags'] = $this->Fields['tags']; if(isset($this->TypeLink->TypeInfos['reid'])) { $GLOBALS['envs']['reid'] = $this->TypeLink->TypeInfos['reid']; } $GLOBALS['envs']['keyword'] = $this->Fields['keywords']; $GLOBALS['envs']['typeid'] = $this->Fields['typeid']; $GLOBALS['envs']['topid'] = GetTopid($this->Fields['typeid']); $GLOBALS['envs']['aid'] = $GLOBALS['envs']['id'] = $this->Fields['id']; $GLOBALS['envs']['adminid'] = $GLOBALS['envs']['mid'] = isset($this->Fields['mid'])? $this->Fields['mid'] : 1; $GLOBALS['envs']['channelid'] = $this->TypeLink->TypeInfos['channeltype']; if($this->Fields['reid']>0) { $GLOBALS['envs']['typeid'] = $this->Fields['reid']; } MakeOneTag($this->dtp, $this, 'N'); }
3、将以上代码,替换为以下代码:
/** * 解析模板,对固定的标记进行初始给值 * * @access public * @return void */ function ParseTempletsFirst() { if(empty($this->Fields['keywords'])) { $this->Fields['keywords'] = ''; } if(empty($this->Fields['reid'])) { $this->Fields['reid'] = 0; } $GLOBALS['envs']['tags'] = $this->Fields['tags']; if(isset($this->TypeLink->TypeInfos['reid'])) { $GLOBALS['envs']['reid'] = $this->TypeLink->TypeInfos['reid']; } $GLOBALS['envs']['keyword'] = $this->Fields['keywords']; $GLOBALS['envs']['typeid'] = $this->Fields['typeid']; $GLOBALS['envs']['topid'] = GetTopid($this->Fields['typeid']); $GLOBALS['envs']['aid'] = $GLOBALS['envs']['id'] = $this->Fields['id']; $GLOBALS['envs']['adminid'] = $GLOBALS['envs']['mid'] = $this->Fields['mid']; $GLOBALS['envs']['channelid'] = $this->TypeLink->TypeInfos['channeltype']; if($this->Fields['reid']>0) { $GLOBALS['envs']['typeid'] = $this->Fields['reid']; } MakeOneTag($this->dtp, $this, 'N'); } function ClickPicNext($ismake=1,$aid,&$body) { global $cfg_rewrite; if($this->NowPage!=$this->TotalPage) { $lPage=$this->NowPage+1; if($ismake==1) { $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU","<a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."\${0}"."</a>",$body); } else { $PageList="<a href='view.php?aid=$aid&pageno=$lPage'>"."\${0}"."</a>"; if($cfg_rewrite == 'Y') { $PageList = str_replace(".php?aid=","-",$PageList); $PageList = preg_replace("/&pageno=(\d+)/i",'-\\1.html',$PageList); } $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU",$PageList,$body); } } else { $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU",$this->GetPreNext('imgnext'),$body); } return $body; }
4、查找以下代码。
/** * 解析模板,对内容里的变动进行赋值 * * @access public * @param string $pageNo 页码数 * @param string $ismake 是否生成 * @return string */ function ParseDMFields($pageNo, $ismake=1) { $this->NowPage = $pageNo; $this->Fields['nowpage'] = $this->NowPage; if($this->SplitPageField!='' && isset($this->Fields[$this->SplitPageField])) { $this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1]; if($pageNo>1) $this->Fields['description'] = trim(preg_replace("/[\r\n\t]/", ' ', cn_substr(html2text($this->Fields[$this->SplitPageField]), 200))); }
5、将以上代码,替换为以下代码。
/** * 解析模板,对内容里的变动进行赋值 * * @access public * @param string $pageNo 页码数 * @param string $ismake 是否生成 * @return string */ function ParseDMFields($pageNo,$ismake=1) { $this->NowPage = $pageNo; $this->Fields['nowpage'] = $this->NowPage; if($this->SplitPageField!='' && isset($this->Fields[$this->SplitPageField])) { $this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1]; if($ClickPicNext){ $this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField]; }else{ $this->Fields[$this->SplitPageField]=$this->ClickPicNext($ismake,$this->Fields['id'],$this->Fields[$this->SplitPageField]); } if($pageNo>1) $this->Fields['description'] = trim(ereg_replace("[\r\n\t]", ' ', cn_substr(html2text($this->Fields[$this->SplitPageField]), 200))); }
6、查找以下代码。
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> "; $this->PreNext['nextimg'] = "<a href='$mlink'><img src=\"{$nextRow['litpic']}\" alt=\"{$nextRow['title']}\"/></a> "; } else { $this->PreNext['next'] = "下一篇:没有了 "; $this->PreNext['nextimg'] ="<a href='javascript:void(0)' alt=\"\"><img src=\"/templets/default/images/nophoto.jpg\" alt=\"对不起,没有下一图集了!\"/></a>";
7、将以上代码,替换为以下代码。
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> "; $this->PreNext['imgnext'] ="<a href='$mlink'>"."\${0}"."</a>"; $this->PreNext['nextimg'] = "<a href='$mlink'><img src=\"{$nextRow['litpic']}\" alt=\"{$nextRow['title']}\"/></a> "; } else { $this->PreNext['next'] = "下一篇:没有了 "; $this->PreNext['imgnext'] ="\${0}"; $this->PreNext['nextimg'] ="<a href='javascript:void(0)' alt=\"\"><img src=\"/templets/default/images/nophoto.jpg\" alt=\"对不起,没有下一图集了!\"/></a>";
8、查找以下代码。
else if($gtype=='next') { $rs = $this->PreNext['next']; }
9、将以上代码,替换为以下代码。
else if($gtype=='next') { $rs = $this->PreNext['next']; } else if($gtype=='imgnext') { $rs = $this->PreNext['imgnext']; }
好了,到此点击图片进入下一页,最后一页进入下一篇的功能设置就完成了。下面是将图片的ALT注释设置为文章标题的方法。
10、继续查找以下代码:
//设置全局环境变量 $this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; @SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives'); }
11、将以上代码,替换为以下代码。
//设置全局环境变量 $this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; @SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives'); } $this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']); $this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']); $this->Fields['body'] = str_ireplace("<img " ,"<img alt=\"".$this->Fields['title']."\" ",$this->Fields['body']); $this->Fields['imgurls'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['imgurls']); $this->Fields['imgurls'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['imgurls']); $this->Fields['imgurls'] = str_ireplace("<img " ,"<img alt=\"".$this->Fields['title']."\" ",$this->Fields['imgurls']);
将以上代码替换完成后,更新文档HTML,就可以了。
本文属原创,转载请注明原文:http://www.zhimatong.com/jiaocheng/512.html
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。