您的位置:首页 > 其它

dede5.7将图片的ALT注释设置为文章标题且点击图片进入下一页,最后一页进入下一篇

2014-01-07 10:45 429 查看
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,就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: