首页 > 软件开发 > HTML >

dede织梦系统文章页同时生成wap手机版的html页

来源:互联网 2023-03-16 19:19:39 版权归原作者所有,如有侵权,请联系我们

前面文章介绍过dede织梦系统实现动态wap浏览的功能,这里介绍一下发布文章后同时自动生成pc版和手机版静态内容页。ZXD办公区 - 实用经验教程分享!

工具/原料

  • dede织梦系统
  • html编辑器

方法/步骤

  • 1

    首先创建手机版的文章模板,这里自己创建,跟其他模板一样,不过保存路径/templets/wap/article_article.htm,详情看前面文章介绍。ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 2

    首先找到include目录下的arc.archives.class.php,修改文件前最好备份一下,找到函数function MakeHtml($isremote=0),大概在380行左右。函数最后一行代码修改一如下:ZXD办公区 - 实用经验教程分享!

    $returl=$this->GetTrueUrl($filename);ZXD办公区 - 实用经验教程分享!

    $this->MakeWapHtml($isremote);ZXD办公区 - 实用经验教程分享!

    return $returl;ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 3

    上面增加了$this->MakeWapHtml($isremote);这个就是我们增加的手机版生成静态页函数。具体代码如下:ZXD办公区 - 实用经验教程分享!

    function MakeWapHtml($isremote=0)ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    $tempfile = $this->GetTempletFile();ZXD办公区 - 实用经验教程分享!

    $tempfile = str_replace('default','wap',$tempfile);ZXD办公区 - 实用经验教程分享!

    if(!file_exists($tempfile) || !is_file($tempfile))ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    ZXD办公区 - 实用经验教程分享!

    }else{ZXD办公区 - 实用经验教程分享!

    global $cfg_remote_site,$fileFirst;ZXD办公区 - 实用经验教程分享!

    if($this->IsError)ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    return '';ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    $this->Fields["displaytype"] = "st";ZXD办公区 - 实用经验教程分享!

    //预编译$thZXD办公区 - 实用经验教程分享!

    $this->dtp->LoadTemplate($tempfile);ZXD办公区 - 实用经验教程分享!

    $this->TempSource = $this->dtp->SourceString;ZXD办公区 - 实用经验教程分享!

    $this->ParAddTable();ZXD办公区 - 实用经验教程分享!

    $this->ParseTempletsFirst();ZXD办公区 - 实用经验教程分享!

    $this->Fields['senddate'] = empty($this->Fields['senddate'])? '' : $this->Fields['senddate'];ZXD办公区 - 实用经验教程分享!

    $this->Fields['title'] = empty($this->Fields['title'])? '' : $this->Fields['title'];ZXD办公区 - 实用经验教程分享!

    $this->Fields['arcrank'] = empty($this->Fields['arcrank'])? 0 : $this->Fields['arcrank'];ZXD办公区 - 实用经验教程分享!

    $this->Fields['ismake'] = empty($this->Fields['ismake'])? 0 : $this->Fields['ismake'];ZXD办公区 - 实用经验教程分享!

    $this->Fields['money'] = empty($this->Fields['money'])? 0 : $this->Fields['money'];ZXD办公区 - 实用经验教程分享!

    $this->Fields['filename'] = empty($this->Fields['filename'])? '' : $this->Fields['filename'];ZXD办公区 - 实用经验教程分享!

    ZXD办公区 - 实用经验教程分享!

    //分析要创建的文件名称ZXD办公区 - 实用经验教程分享!

    $filename = GetFileNewName(ZXD办公区 - 实用经验教程分享!

    $this->ArcID,$this->Fields['typeid'],$this->Fields['senddate'],ZXD办公区 - 实用经验教程分享!

    $this->Fields['title'],$this->Fields['ismake'],$this->Fields['arcrank'],ZXD办公区 - 实用经验教程分享!

    $this->TypeLink->TypeInfos['namerule'],$this->TypeLink->TypeInfos['typedir'],$this->Fields['money'],$this->Fields['filename']ZXD办公区 - 实用经验教程分享!

    );ZXD办公区 - 实用经验教程分享!

    $filename='/wap'.$filename;ZXD办公区 - 实用经验教程分享!

    $filename=str_replace('/wap/html/','/wap/',$filename);ZXD办公区 - 实用经验教程分享!

    $filenames = explode(".", $filename);ZXD办公区 - 实用经验教程分享!

    $this->ShortName = $filenames[count($filenames)-1];ZXD办公区 - 实用经验教程分享!

    if($this->ShortName=='') $this->ShortName = 'html';ZXD办公区 - 实用经验教程分享!

    $fileFirst = preg_replace("/.".$this->ShortName."$/i", "", $filename);ZXD办公区 - 实用经验教程分享!

    $this->Fields['namehand'] = basename($fileFirst);ZXD办公区 - 实用经验教程分享!

    $filenames = explode("/", $filename);ZXD办公区 - 实用经验教程分享!

    $this->NameFirst = preg_replace("/.".$this->ShortName."$/i", "", $filenames[count($filenames)-1]);ZXD办公区 - 实用经验教程分享!

    if($this->NameFirst=='')ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    $this->NameFirst = $this->arcID;ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    ZXD办公区 - 实用经验教程分享!

    //获得当前文档的全名ZXD办公区 - 实用经验教程分享!

    $filenameFull = GetFileUrl(ZXD办公区 - 实用经验教程分享!

    $this->ArcID,$this->Fields['typeid'],$this->Fields["senddate"],ZXD办公区 - 实用经验教程分享!

    $this->Fields["title"],$this->Fields["ismake"],ZXD办公区 - 实用经验教程分享!

    $this->Fields["arcrank"],$this->TypeLink->TypeInfos['namerule'],$this->TypeLink->TypeInfos['typedir'],$this->Fields["money"],$this->Fields['filename'],ZXD办公区 - 实用经验教程分享!

    $this->TypeLink->TypeInfos['moresite'],$this->TypeLink->TypeInfos['siteurl'],$this->TypeLink->TypeInfos['sitepath']ZXD办公区 - 实用经验教程分享!

    );ZXD办公区 - 实用经验教程分享!

    $this->Fields['arcurl'] = $this->Fields['fullname'] = $filenameFull;ZXD办公区 - 实用经验教程分享!

    ZXD办公区 - 实用经验教程分享!

    //对于已设置不生成HTML的文章直接返回网址ZXD办公区 - 实用经验教程分享!

    if($this->Fields['ismake']==-1 || $this->Fields['arcrank']!=0 || $this->Fields['money']>0ZXD办公区 - 实用经验教程分享!

    || ($this->Fields['typeid']==0 && $this->Fields['channel'] != -1) )ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    return $this->GetTrueUrl($filename);ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    //循环生成HTML文件ZXD办公区 - 实用经验教程分享!

    elseZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    for($i=1;$i=$this->TotalPage;$i )ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    if($this->TotalPage > 1) {ZXD办公区 - 实用经验教程分享!

    $this->Fields['tmptitle'] = (empty($this->Fields['tmptitle']) ? $this->Fields['title'] : $this->Fields['tmptitle']);ZXD办公区 - 实用经验教程分享!

    if($i>1) $this->Fields['title'] = $this->Fields['tmptitle']."($i)";ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    if($i>1)ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    $TRUEfilename = $this->GetTruePath().$fileFirst."_".$i.".".$this->ShortName;ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    elseZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    $TRUEfilename = $this->GetTruePath().$filename;ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    $this->ParseDMFields($i,1);ZXD办公区 - 实用经验教程分享!

    if(!is_dir(dirname($TRUEfilename))) {ZXD办公区 - 实用经验教程分享!

    mkdir(dirname($TRUEfilename), 0777, true);ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    $this->dtp->SaveTo($TRUEfilename);ZXD办公区 - 实用经验教程分享!

    //如果启用远程发布则需要进行判断ZXD办公区 - 实用经验教程分享!

    if($cfg_remote_site=='Y' && $isremote == 1)ZXD办公区 - 实用经验教程分享!

    {ZXD办公区 - 实用经验教程分享!

    ZXD办公区 - 实用经验教程分享!

    //分析远程文件路径ZXD办公区 - 实用经验教程分享!

    $remotefile = str_replace(DEDEROOT, '', $TRUEfilename);ZXD办公区 - 实用经验教程分享!

    $localfile = '..'.$remotefile;ZXD办公区 - 实用经验教程分享!

    //创建远程文件夹ZXD办公区 - 实用经验教程分享!

    $remotedir = preg_replace("#[^/]*.html#", '', $remotefile);ZXD办公区 - 实用经验教程分享!

    $this->ftp->rmkdir($remotedir);ZXD办公区 - 实用经验教程分享!

    $this->ftp->upload($localfile, $remotefile, 'ascii');ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    $this->TempSource=='';ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    }ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 4

    其中注意代码$tempfile = str_replace('default','wap',$tempfile);这是把pc模板目录替换成手机模板目录,根据自己的目录替换,默认是default。ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 5

    还有代码ZXD办公区 - 实用经验教程分享!

    $filename='/wap'.$filename; $filename=str_replace('/wap/html/','/wap/',$filename);ZXD办公区 - 实用经验教程分享!

    我这里pc端生成静态页面的目录是html,dede织梦系统默认是a目录,根据自己的目录设置,ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 6

    下面我们就在后台添加一篇文章,看看你的原来静态页面目录和wap目录下是不是同时生成了一个页面。ZXD办公区 - 实用经验教程分享!

    dede织梦系统文章页同时生成wap手机版的html页ZXD办公区 - 实用经验教程分享!

  • 7

    如果要使手机版打开pc端的静态页自动跳转到手机版的静态页面,只需在pc内容页模板里加上跳转代码。这个前面的一篇关于动态手机版的文章有介绍。ZXD办公区 - 实用经验教程分享!

  • 7此文章未经授权抓取自百度经验
  • 注意事项

    • 注意自己系统相应的目录与我的目录的区别
    • 注意备份文件,因为目前只是自己测试是没问题

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!ZXD办公区 - 实用经验教程分享!


    标签: HTML

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号