jekeyhui99 发表于 2017-3-1 11:34:23

dedecms织梦全站使用动态页面的详细修改步骤



织梦的全站生成静态化功能其实对于优化,服务器来说都说很好的。但是很多客户却并不喜欢全站静态,因为每次有变动他们都需要全站生成一遍,数据少的话还无所谓,如果数据很多生成就会特别慢,而且经常会卡死,这点来说织梦做的并不好。对于客户来说他们更喜欢傻瓜一点的操作,希望他后台修改前台马上就能够看到效果的程序。因此对于dede织梦的全站静态的好处他们会忽略掉,反而感觉你给他做的网站不好。这里主要介绍一下如何让dede织梦全站都使用动态页面。
一、先把首页静态化。

修改根目录下的index.php
GBK版


[*]<?php
[*]if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
[*]{
[*]header('Location:install/index.php');
[*]exit();
[*]}
[*]//不生成HTML版
[*]require_once (dirname(__FILE__) . "/include/common.inc.php");
[*]require_once DEDEINC."/arc.partview.class.php";
[*]$GLOBALS['_arclistEnv'] = 'index';
[*]$row = $dsql->GetOne("Select * From `dede_homepageset`");
[*]$row['templet'] = MfTemplet($row['templet']);
[*]$pv = new PartView();
[*]$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
[*]$pv->Display();
[*]exit();
[*]?>

复制代码
UTF8版本的话:


[*]<?php
[*]if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
[*]{
[*]header('Location:install/index.php');
[*]exit();
[*]}
[*]//不生成HTML版
[*]require_once (dirname(__FILE__) . "/include/common.inc.php");
[*]require_once DEDEINC."/arc.partview.class.php";
[*]$GLOBALS['_arclistEnv'] = 'index';
[*]$row = $dsql->GetOne("Select * From `dede_homepageset`");
[*]$row['templet'] = MfTemplet($row['templet']);
[*]$pv = new PartView();
[*]$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
[*]$pv->Display();
[*]exit();
[*]?>

复制代码
二、根据你网站所放空间的不同设置网站打开的首选页为index.php形式。
我的是vps,直接就在iis里面设置了。
在网站-属性里面选择“文档”如下图

http://www.swdyz.com/uploads/userup/72/120622162F3-5213-0.jpg


这里现在我设置的网站首选页是index.html形式,我们要使用全站动态页面,那么最好将网站的首选页面修改为php形式的,即将上图中的index.php上移,然后点击“应用”再“确定”即可。如下图。

http://www.swdyz.com/uploads/userup/72/120622162F3-1528-1.jpg



三、将后台的栏目属性里全部修改为动态。
如果是新建栏目:
http://www.swdyz.com/uploads/userup/72/120622162F3-1O9-2.jpg


在常规选项里面,“栏目列表选项”这里一定要选择“使用动态页”。如下图:
http://www.swdyz.com/uploads/userup/72/120622162F3-2931-3.jpg


其他按一般步骤填写即可,注意,这里选择了使用动态页之后,在高级选项里设置的文章命名规则便没用了。“文件保存目录”也可不用设置。
四、修改文件使发布文章时发布的自动为动态。
如果没有这个第四步,那么我们在发布文档的时候会发现在最下方的发布选项默认为“生成html”,如果这里不修改的话那么你发布文章的时候会非常麻烦。但是我们不需要生成html了,而客户甚至我们在发布文档的时候不可能每次都记得去在这里修改一下。如下图:
http://www.swdyz.com/uploads/userup/72/120622162F3-5361-4.jpg


那么该怎么办呢?只有修改掉这个默认设置了。下面说说该怎么修改。
一、修改发布文章默认为动态方法【普通文档形式】
找到 dede\templets\article_add.htm
①打开找到
<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />
生成HTML

改为【即去掉:checked="1"】

<td width="379"><input name="ishtml" type="radio" class="np" value="1" />
生成HTML

②再找到

<input type="radio" name="ishtml" class="np" value="0"/>
仅动态浏览

改为

<input type="radio" name="ishtml" class="np" value="0" checked="1" />
仅动态浏览

二、特殊文档形式发布后直接为动态【如自定义模型】
①找到dede\templets\archives_add.htm

<input name="ishtml" type="radio" class="np" value="1" checked>
生成HTML
<input type="radio" name="ishtml" class="np" value="0">
仅动态浏览
修改为
<input name="ishtml" type="radio" class="np" value="1">
生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked>
仅动态浏览
之后我们来看看这个时候再点击发布文档的时候最下面的图:
http://www.swdyz.com/uploads/userup/72/120622162F3-5I0-5.jpg


如何批量修改动态发布为静态生成,或者反过来修改。
用phpmyadmin打开dede_dede_archives 这个表
ismake这个字段就是我们要修改的对象。

运行sql语句:
UPDATE `dede_archives` SET `ismake` = '-1' 修改所有文档为动态浏览
UPDATE `dede_archives` SET `ismake` = '1' 修改所有文档为静态发布
这样就可以了

或者进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令:
1.将所有文档设置为“仅动态”:update dede_archives set ismake=-1
2.将所有文档设置为“仅静态”:update dede_archives set ismake=1
3.将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1
4.将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1
怎么样?已经修改过来了吧?
到这里整dede织梦程序全站静态改为动态的修改已经完毕。在这里我再给大家说下各个默认模版对应的默认发布形式:
dede织梦发布文档时的几种形式/dede/templets/下的模板
album_add.htm发表图集模板
archives_add.htm发表通用文档模板
article_add.htm发表普通模板
archives_sg_add.htm发表特殊类文章模板
这样就更加清晰了吧?如果你的网站是其他的图集,或者,商城,软件类的模型都可以在对应的这几个模版里面去修改为默认发布动态。好了到这里已经全部介绍完毕。


页: [1]
查看完整版本: dedecms织梦全站使用动态页面的详细修改步骤