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,就可以了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索