首页 > CMS > 织梦DEDE > 正文

织梦模板二次开发 手机生成静态页面

2024-07-12 08:48:38
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了织梦模板二次开发 手机生成静态页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

织梦手机模板的应用已经出来不少时间了,市面上已经有了很多的织梦手机模板,但是这一些模板基本就是基于织梦官网的动态浏览机制,是动态的,却不能像PC端的织梦模板一样,可以实现全站静态生成,方便SEO。就这个情况,361模板下面给出手机生成静态页面解决访案。

  先做个简单的说明,这个方案并非361模板原创,请有需求的朋友有选择的使用。

实现wap手机静态生成

第一步、添加后台导航栏目链接

1 打开dede/inc/inc_menu.php,在146行下面添加代码:

<m:item name='更新WAP主页' link='makehtml_homepagewap.php' rank='sys_MakeHtml' target='main' /><m:item name='更新WAP栏目' link='makehtml_listwap.php' rank='sys_MakeHtml' target='main' /><m:item name='更新WAP文档' link='makehtml_archiveswap.php' rank='sys_MakeHtml' target='main' />

第二步、更新WAP主页

1.复制文件dede/makehtml_homepage.php,重命名为makehtml_homepagewap.php

2.打开makehtml_homepagewap.php,找到最后一行

include DedeInclude('templets/makehtml_homepage.htm');

修改为

include DedeInclude('templets/makehtml_homepagewap.htm');

3.复制文件dede/templets/makehtml_homepage.htm重命名为makehtml_homepagewap.htm

4.打开dede/templets/makehtml_homepagewap.htm 修改21行

<form action="makehtml_homepage.php" method="post" name="form1" target="stafrm">

修改为 

<form action="makehtml_homepagewap.php" method="post" name="form1" target="stafrm">

4.修改36行,指定生成WAP主页模板

<input name="templet" type="text" id="templet" style="width:300" value="default/wap.htm">

5.修改48行,指定生成WAP主页路径 

<td height="20" valign="top" bgcolor="#FFFFFF"><input name="position" type="text" id="position" value="../m/index.html" size="30">

6.修改69~70行,“checked”移到“不保存当前选项”,系统默认是提交保存主页模板和路径数据的

<input name="saveset" type="radio" value="0" class="np" checked>

不保存当前选项

<input name="saveset" type="radio" class="np" value="1" >

保存当前选项

第三部、更新WAP栏目

1.复制文件dede/makehtml_list.php,重命名为makehtml_listwap.php

2.打开makehtml_listwap.php,找到最后一行

include DedeInclude('templets/makehtml_list.htm');

修改为

include DedeInclude('templets/makehtml_listwap.htm');

3.复制文件dede/templets/makehtml_list.htm 重命名为makehtml_listwap.htm ,修改第10行

<form name="form1" action="makehtml_list_action.php" method="get" target='stafrm'>

修改为

<form name="form1" action="makehtml_listwap_action.php" method="get" target='stafrm'>

4.复制dede/makehtml_list_action.php 重命名makehtml_listwap_action.php

require_once(DEDEINC."/arc.listview.class.php");

修改为

require_once(DEDEINC."/arc.listwapview.class.php");

5.复制include/arc.listview.class.php重命名为arc.listwapview.class.php

if(!file_exists($tempfile))        {            $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."st_default.htm";        }        if(!file_exists($tempfile)||!is_file($tempfile))        {            echo "模板文件不存在,无法解析文档!";            exit();        }

替换为

$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."st_wap.htm";

修改栏目储存目录,在658-659行后面添加代码,生成的栏目文件保存在文件夹“m”下面

$typedir = MfTypedir('/m/'.$typedir);

修改

function GetMakeFileRule($typeid,$wname,$typedir,$defaultname,$namerule2)    {     $typedir = MfTypedir('/m/'.$typedir);     if($wname=='index')

代码345-371行是把list第一页复制为首页index.html的,修改354行修改复制保存路径,在$this->Fields['typedir'])前面添加'/m/'. 如下面10行所示

if($startpage==1){//如果列表启用封面文件,复制这个文件第一页if($this->TypeLink->TypeInfos['isdefault']==1&& $this->TypeLink->TypeInfos['ispart']==0){$onlyrule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],'',$this->Fields['namerule2']);$onlyrule = str_replace("{page}","1",$onlyrule);$list_1 = $this->GetTruePath().$onlyrule;$murl = MfTypedir('/m/'.$this->Fields['typedir']).'/'.$this->Fields['defaultname'];//如果启用远程发布则需要进行判断if($cfg_remote_site=='Y'&& $isremote == 1){//分析远程文件路径$remotefile = $murl;$localfile = '..'.$remotefile;$remotedir = preg_replace('/[^//]*/.html/', '',$remotefile);//不相等则说明已经切换目录则可以创建镜像$this->ftp->rmkdir($remotedir);$this->ftp->upload($localfile, $remotefile, 'acii');}$indexname = $this->GetTruePath().$murl;copy($list_1,$indexname);}}return $murl;}

第四步、更新WAP文档

1.复制dede/makehtml_archives.php 重命名为makehtml_archiveswap.php 修改最后一行

include DedeInclude('templets/makehtml_archives.htm');

修改为

include DedeInclude('templets/makehtml_archiveswap.htm');

2.复制dede/templets/makehtml_archives.htm 重命名为makehtml_archiveswap.htm 修改13行form提交地址

<form name="form1" action="makehtml_archives_action.php" method="get" target='stafrm'>

修改为

<form name="form1" action="makehtml_archiveswap_action.php" method="get" target='stafrm'>

3.复制dede/makehtml_archives_action.php 重命名为makehtml_archiveswap_action.php 修改13行 

require_once(DEDEINC."/arc.archives.class.php");

修改为

require_once(DEDEINC."/arc.archiveswap.class.php");

4.复制include/arc.archives.class.php 重命名为arc.archiveswap.class.php

修改文章页储存位置,476行,站点真实路径后面添加"/m/" 如下第9行所示:

    /**     *  获得站点的真实根路径     *     * @access    public     * @return    string     */    function GetTruePath()    {        $TRUEpath = $GLOBALS["cfg_basedir"].'/m/';        return $TRUEpath;    }

修改获得模板文件位置,屏蔽528-536行代码,后面添加调用模版路径

/*  if(!empty($this->Fields['templet']))        {              $filetag = MfTemplet($this->Fields['templet']);            if( !preg_match("#//#", $filetag) ) $filetag = $GLOBALS['cfg_df_style'].'/'.$filetag;        }        else        {            $filetag = MfTemplet($this->TypeLink->TypeInfos["temparticle"]);        }*/$filetag = $GLOBALS['cfg_df_style'].'/'.'article_wap.htm';

是将上面的代码注释掉

注意事项

DEDE手机目录是M。

到这里就介绍完了手机生成静态页面的全部改造过程,最后再强调一下,本文并非361模板原创,所有对改造的可行性不负责,有兴趣尝试的朋友一定要注意文件的备份以免造成不必要的损失。

以上就是织梦模板二次开发 手机生成静态页面的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表