GVKun编程网logo

织梦DEDECMS gbk站点mip改造方法(织梦站点根网址)

4

此处将为大家介绍关于织梦DEDECMSgbk站点mip改造方法的详细内容,并且为您解答有关织梦站点根网址的相关问题,此外,我们还将为您介绍关于dedecms在php7下的使用方法织梦dedecsm后台

此处将为大家介绍关于织梦DEDECMS gbk站点mip改造方法的详细内容,并且为您解答有关织梦站点根网址的相关问题,此外,我们还将为您介绍关于dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法、DEDECMS织梦gbk网站转换成utf网站方法、DedeCMS织梦模板从gbk转utf8编码的方法教程、dedecms织梦系统gbk转换成utf网站方法的有用信息。

本文目录一览:

织梦DEDECMS gbk站点mip改造方法(织梦站点根网址)

织梦DEDECMS gbk站点mip改造方法(织梦站点根网址)

 

*部分:源码修改

1、js部分:删除或使用现有组件替换


2、调用baidumip文件:

head里加<link rel="stylesheet" type="text/css"href="https://mipcache.bdstatic.com/static/mipmain-v1.1.1.css">

body里加<script src=http://www.dede58.com/a/dedejq/"https:/mipcache.bdstatic.com/static/mipmain-v1.1.2.js"></script>


3、head里加<link rel="canonical"href="{dede:global.cfg_basehost/}{dede:field name='arcurl'/}" >,通过dedecms标签直接调用当前页url。


4、外部通用css文件:建议将css文件中的样式代码嵌入<style mip-custom>…</style>中,另存为源码文件(如css.htm),用{dede:includefilename="css.htm"/}替换相关源码中的<link rel="stylesheet" type="text/css"href="…" />。

源码中的内联css可人工进行查找替换,合并至<stylemip-custom>中。(虽在下面代码中可以自动进行处理,但从静态文件生成性能角度考虑,还是建议人工先将源码中的内联样式一次性整改好。)


注:以上操作大多可通过批量查找替换来完成,看似需要修改很多,但实际工作量并不大。



第二部分:程序文件修改

 

· 静态生成移动站:


找到 /include/dedetag.class.php文件中解析源码输出为文件的函数:

    function SaveTo($filename)

    {

        $fp = @fopen($filename,"w")or die("DedeTag Engine Create File False");

        fwrite($fp,$this->GetResult());

        fclose($fp);

}


替换为(部分代码可根据实际情况进行改动):


     //路径转换函数文件。$content:代码源,$feed_url:首页,$f_url:相对路径的目录部分

     function relative_to_absolute($content,$protocol, $domain, $f_url) {  

                   //根目录相对路径(如href="/a/b.html")转换

                   $new_content =preg_replace('/href\s*\=\s*([\'"])\s*\//','href=\\1'.$protocol.$domain.'/', $content);

                   $new_content =preg_replace('/src\s*\=\s*([\'"])\s*\//', 'src=\\1'.$protocol.$domain.'/',$new_content);

                   //当前页相对路径(如href="a/b.html")转换

                   $new_content =preg_replace('/href\s*\=\s*([\'"])(?!(http|https):\/\/)/','href=\\1'.$protocol.$domain.$f_url,$new_content);

                   $new_content =preg_replace('/src\s*\=\s*([\'"])(?!(http|https):\/\/)/','src=\\1'.$protocol.$domain.$f_url, $new_content);

                   return $new_content;

     }


    function SaveTo($filename)

    {                 

        $fp=@fopen($filename,"w") ordie("DedeTag Engine Create File False");

                   if(substr($_SERVER['PHP_SELF'],-6)=='_m.php'||substr($filename,-13)=='/m/index.html'){ //跳转适配站识别是否为手机端生成,不影响pc端的gbk编码。手机端为独立站点需去掉此判断条件。

                            $f_url=explode('域名.com/m',dirname($filename));//分割路径,获取当前页相对路径的目录部分

                            //如dirname($filename)得到的本地**路径为D:/wwwroot/www.域名.com/m/yygk/xwzx,用网站目录“域名.com/m”作为标识分割路径,得到目录部分“/yygk/xwzx”。

                            $html=$this->GetResult();

                            $html=$this->relative_to_absolute($html,'','m.域名.com',$f_url[1].'/');//相对路径转换**路径

#p#分页标题#e#

                            $html=str_replace('<metacharset="gb2312">','<metacharset="utf-8">',iconv('gbk','utf-8//ignore',$html)); //转换为utf-8编码声明,fwrite会以此生成对应编码的静态页面

                            $html=str_replace('<a','<a target="_blank" ',$html); //<a>标签加target

                            $html=str_replace('<img','<mip-img ',$html);  //替换<img>标签


                            /* 主要针对编辑器生成的内联样式,将内联样式转换到head的style标签中 */

                            if(preg_match_all('/\sstyle\s*\=\s*[\'"](.*?)[\'"]/',$html,$css)){

                                     $css0=array_unique($css[0]);//过滤重复style                                 

                                     foreach($css0as $k => $v){

                                               $html=str_replace($v,'',$html); //mip_add_css_为自定义样式名前缀,可自行修改,但需避免与原有样式名重复

                                               $temp_name='mip_add_css_'.$k;

                                               $$temp_name=$css[1][$k];

                                               $add_css.='.'.$temp_name.'{'.$css[1][$k]."}\n";

                                     }

                                     $html=str_replace('<stylemip-custom>',"<style mip-custom>\n".$add_css,$html);

                            }

                            fwrite($fp, $html);

                   }else{ //pc端执行

                            fwrite($fp,$this->GetResult());

                   }

        fclose($fp);

    }


注:该方法初步测试成功,因生成静态文件时处理程序增加,理论上来说会对生成效率有所影响。另外,不排除存在问题的可能性,如有问题或其他想法可回帖共同研究探讨。

 

· 默认动态移动站:

1、修改/m目录下index.php、list.php、view.php三个php文件的编码,改为utf-8。

 

2、找到 /include/dedetag.class.php文件中解析源码直接输出的函数:

    function Display()

    {

        echo $this->GetResult();

    }

替换为:

    function Display()

    {

#p#分页标题#e#

        $html=str_replace('<meta charset="gb2312">','<meta charset="utf-8">',$this->GetResult()); //转换为utf-8编码声明,此处源内容$this->GetResult()不需要转编码

        echo $html;

    }

 

如此即可以utf-8编码输出动态页面,其他处理可参照上面静态生成站点方法中的代码。

本文章网址:http://www.ppssdd.com/code/13476.html。转载请保留出处,谢谢合作!

dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法

dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法

dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法

原文地址:http://www.qingpingshan.com/m/view.php?aid=364408

一、 打开错误信息

一片空白是无法调试的,

所以要做的第一件事,

能够输出错误信息。

打开 include/common.inc.php

找到下面的代码

//error_reporting(E_ALL);

error_reporting(E_ALL || ~E_NOTICE);

改为

error_reporting(E_ALL);

//error_reporting(E_ALL || ~E_NOTICE);

主要作用是打开错误提示。

php错误提示

这样再刷新后台,

就会有错误提示了。

解决了织梦后台空白问题后,

你再改过来就行。

二、 ‘continue’ not in the ‘loop’ or ‘switch’ context错误

你刷新后可能遇到这个错误

Fatal error: ‘continue’ not in the ‘loop’ or ‘switch’ context in ….include/common.func.php on line 49

上面表示include/common.func.php 这个文件的49行有错误,

把 continue; 删除

改为 return;

即可

 

织梦最新版本helper_function代码

最新版的织梦DedeCMS-V5.7-UTF8-SP2已经把这个错误修改过来。

三、 函数mysql_query()未定义

mysql_*的系列函数在php7中不能再使用,

会出现下面的错误

Fatal error: Uncaught Error: Call to undefined function mysql_query() in ….include/dedesql.class.php:152

php7中需要使用mysqli或者pdo的方式,

跟数据库通信,

更安全更高效。

解决的方法

打开文件 data/config.cache.inc.php

$cfg_mysql_type = ‘mysql’;

改为

$cfg_mysql_type = ‘mysqli’;

最新版的织梦DedeCMS-V5.7-UTF8-SP2也是这样设置的。

织梦最新版本mysql_type类型

通过上面三步,

旧的dedecms就能在php7上使用,

可以正常登录后台了。

四、 升级到最新的DedeCMS-V5.7-UTF8-SP2

看了下这个版本的织梦源代码,

应该是支持php7的,

你也可以把织梦升级到最新的版本,

前面3步就可以省略了。

DEDECMS织梦gbk网站转换成utf网站方法

DEDECMS织梦gbk网站转换成utf网站方法

在用织梦dedecms建站时,很多时候都是针对国内市场,所以用的都是GBK版本,但有时我们会想在我们的网站上添加其他的语言界面,例如英语、日语、韩语。

这时我们要怎样把我们的GBK版本的织梦dedecms转换成UTF-8的网站呢。
 
    下面就说一下,织梦gbk网站转换成utf的方法。
 
1. 备份网站的所有数据
对网站进行更改之前一定要先备份原网站,防止修改失败时可以恢复到原来的样子。具体备份流程如下:
(1)备份数据库:织梦后台——系统——系统设置——数据库备份/还原:点击提交备份网站。
(2)把整站的文件下载到本地电脑备份好。
 
2.导出数据库文件并转换。
(1)登录网站PHPadmin , 找到网站的数据库名,默认的数据表前缀为dede_ 全选这些数据表,选择导出。将导出的.sql文件在本地 用专门的编辑工具打开(可以使用DW或者是Notepad++等)
我们查找CHARSET=gbk 全部替换为CHARSET=utf8 
查找gb2312全部替换成utf8
然后保存,现在不要导入.sql文件,最后一步导入数据库。
 
(2)还有一种备份转换数据库快速方法
如果觉的上面转换数据库代码的方法太复杂,我们也有个简单快速的方法,只需要用帝国备份王就可以了。
* 把帝国备份王上传到网站空间
* 进入帝国备份王管理界面
* 备份对应数据库,不过在备份时,备份的文件要用相反的代码,例如我们要把gbk转换成utf,那么我们在备份数据库时不能选择gbk编码备份,而是应该选择utf编码备份,这样一备份,得到的数据库就直接转成我们需要的编码了。
 
3.模板文件的转换
除了数据库,还需要转换编码的就是你正在使用的模板。可以把你的模板用织梦模板转换工具直接转换,很简单。相应工具,可以在最模板网站上查找。
 
4.安装UTF-8格式的织梦安装包
(1)在空间中安装新的utf版的织梦系统。
(2)安装好新的utf织梦后,接下来需要把你修改后的数据库文件带入数据库中。
(3)上传修改后的模板。
(4)上传附件文件夹uploads,原网站的uploads可以直接上传到新网站,其中包含了你上传的图片等附件。
(5)原网站安装的插件不能直接搬到新网站上,需要你自己找对应编码的插件安装了。
 
5、好了再织梦dedecms后台生成一下全站就可以看到效果了!

DedeCMS织梦模板从gbk转utf8编码的方法教程

DedeCMS织梦模板从gbk转utf8编码的方法教程

对于Dedecms模板来说,一般有2种编码格式gb2312和UTF-8,现在我们以gbk转utf8为例来给大家讲解一个简单的转换方法:
 
第一步、我们使用记事本或者editplus打开需要转换的模板文件,我们这里使用的是editplus(工具在百度找一下)工具来转换,如下图一。
把模板内容里的utf-8改为gb2312:
 
<Meta content="text/html; charset=gb2312" http-equiv=Content-Type>
改为:                
 
  <Meta content="text/html; charset=utf-8" http-equiv=Content-Type>
第二步、找到"文件"-"另存为",然后进入下一步:如下图


3、选择保存类型,选择"utf-9",然后再点保存。如下图


可以看到文件的编码方式,一共有四种可以选择:ANSI、Unicode、Unicode big endian、UTF-8。utf8转换为gbk编码时,选择类型"ANSI"。选择你需要的编码,点击保存并覆盖源文件即可。

dedecms织梦系统gbk转换成utf网站方法

dedecms织梦系统gbk转换成utf网站方法

在用织梦dedecms建站时,很多时候都是针对国内市场,所以用的都是GBK版本,但有时我们会想在我们的网站上添加其他的语言界面,例如英语、日语、韩语。 

这时我们要怎样把我们的GBK版本的织梦dedecms转换成UTF-8的网站呢。 
  
下面就说一下,织梦gbk网站转换成utf的方法。 
  
1. 备份网站的所有数据 
对网站进行更改之前一定要先备份原网站,防止修改失败时可以恢复到原来的样子。具体备份流程如下: 
(1)备份数据库:织梦后台——系统——系统设置——数据库备份/还原:点击提交备份网站。 
(2)把整站的文件下载到本地电脑备份好。 
  
2.导出数据库文件并转换。 
(1)登录网站PHPadmin , 找到网站的数据库名,默认的数据表前缀为dede_ 全选这些数据表,选择导出。将导出的.sql文件在本地 用专门的编辑工具打开(可以使用DW或者是Notepad++等) 
我们查找CHARSET=gbk 全部替换为CHARSET=utf8 
查找gb2312全部替换成utf8 
然后保存,现在不要导入.sql文件,最后一步导入数据库。 
  
(2)还有一种备份转换数据库快速方法 
如果觉的上面转换数据库代码的方法太复杂,我们也有个简单快速的方法,只需要用帝国备份王就可以了。 
* 把帝国备份王上传到网站空间 
* 进入帝国备份王管理界面 
* 备份对应数据库,不过在备份时,备份的文件要用相反的代码,例如我们要把gbk转换成utf,那么我们在备份数据库时不能选择gbk编码备份,而是应该选择utf编码备份,这样一备份,得到的数据库就直接转成我们需要的编码了。
  
3.模板文件的转换 
除了数据库,还需要转换编码的就是你正在使用的模板。可以把你的模板用织梦模板转换工具直接转换,很简单。相应工具,可以在最模板网站上查找。 
  
4.安装UTF-8格式的织梦安装包 
(1)在空间中安装新的utf版的织梦系统。 
(2)安装好新的utf织梦后,接下来需要把你修改后的数据库文件带入数据库中。 
(3)上传修改后的模板。 
(4)上传附件文件夹uploads,原网站的uploads可以直接上传到新网站,其中包含了你上传的图片等附件。 
(5)原网站安装的插件不能直接搬到新网站上,需要你自己找对应编码的插件安装了。 
  
5、好了再织梦dedecms后台生成一下全站就可以看到效果了!

我们今天的关于织梦DEDECMS gbk站点mip改造方法织梦站点根网址的分享就到这里,谢谢您的阅读,如果想了解更多关于dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法、DEDECMS织梦gbk网站转换成utf网站方法、DedeCMS织梦模板从gbk转utf8编码的方法教程、dedecms织梦系统gbk转换成utf网站方法的相关信息,可以在本站进行搜索。

本文标签: