欢迎来到六久阁织梦模板网!
织梦mip改造方法及改造心得分享

织梦mip改造方法及改造心得分享

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2018-08-30

文章简介

1、先说下前端布局吧!别漏掉了 A)html mip 这玩意得有 字符集统一为utf-8 B)style mip-custom style后面那东西不能少 C) 头部基础东西不能丢, meta name=viewport content=width=device-width,initial-scale=1 !--TODO: canonical href需要替换成原页面u

  • 正文开始
  • 热门文章

1、先说下前端布局吧!别漏掉了

  A)<html mip> 这玩意得有 字符集统一为utf-8

  B)<style mip-custom> style后面那东西不能少

  C) 头部基础东西不能丢,

<meta name="viewport" content="width=device-width,initial-scale=1">

<!--TODO: canonical href需要替换成原页面url-->

<link rel="canonical" href="">

<link rel="stylesheet" type="text/css" href="https://c.mipcdn.com/static/v1/mip.css">


 D)底部js脚本不能少,如果增加一个组件就得在下面引入对应的组件js,可以去官网找,本站也有详细教程

<script src="https://c.mipcdn.com/static/v1/mip.js"></script>

织梦mip改造方法及改造心得分享

E)链接全部用绝对链接加http的哦! 如果对应页面是mip页则添加data-type="mip" ,如果添加了百度转化后点击链接会是类似前端路由的机制。

 F) 其他安装基础的写法写即可,不懂得可以看本站教程或者去官网

2、第一个麻烦,图片麻烦

图片的格式需要换成

<mip-img 

    layout="responsive" 

    width="250" 

    height="163"

    popup 

    alt="www.lol9.cn" 

    src="/st/images/logo-b.png">

</mip-img>


还好好处就是我的是织梦新版和用的百度编辑器,图片上传后宽高也不是用的style,而且直接的width="",具体安装百度编辑器的方法可以在本站织梦栏目找。

现在的话就要把

<img src="https://www.lol9.cn/uploads/allimg/171220/231A11311-0.gif">


下面这个换成上面的格式

我增加了一个函数,在include 里面的extend.func.php 下。这个应该所有的php后台都是试用的

function replaceurl($content){
           //$pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
        $pattern="/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.jpeg]|\.png]|\.bmp]))[\'|\"].*?[\/]?>/";
        preg_match_all($pattern, $content,$matches);
        $full_img = $matches[0];
        $full_src = $matches[1];
        foreach ($full_img as $k => $v) {
            $v1 = str_replace("<img", "<mip-img", $v);
            $v1 = str_replace("/>", "></mip-img>", $v1);
            $v1 = str_replace('src="/ueditor','src="/ueditor',$v1);
            $new_path = $url.$full_src[$k];
            $v1 = str_replace($full_src[$k], $new_path, $v1);
            $content = str_replace($v, $v1, $content);
        }
         
        return $content;
       
}

然后织梦调用主体内容 {dede:field.body function='replaceurl(@me)'/} 执行了下函数替换了img标签。


后面又研究了下,如果是用的织梦的编辑器,就会产生style,于是我又弄了另外一个

下面这个有一个漏洞!最近才发现就是图片上传后alt标签或者title标签里面有一个.jpg就会蛋疼了,会直接匹配到那个位置,而这个又没 " 结尾的,所以会导致整个网页出问题。解决办法,下面已经修改,就是在src=加上"与结尾处加上" 。$2就是匹配的";

function replaceurl($content){
        $pattern = Array("/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i","/style=(.*?)>/i");
        $replacement = Array("<mip-img  popup  src=$2$3.$4$2></mip-img>",">");
        $content = preg_replace($pattern, $replacement, $content);
    return $content;  
}


这个的话就直接把style去掉了,好歹解决了吧!推荐用下面这个,但是如果是小图没有宽度,会100%显示,略微蛋疼


这里就略过了。


3、第三个麻烦,style标签麻烦,

我们在里面会更改字的样子,就会产生style,又得替换

第三个解决方案还是根据上面的第二种图片替换的方法

function replaceurl($content){
        $pattern = Array("/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i","/style=(.*?)>/i");
        $replacement = Array("<mip-img  popup  src=$3.$4></mip-img>",">");
        $content = preg_replace($pattern, $replacement, $content);
    return $content;
}


增加2个变量替换成2个变量

如果用了这个 第二个就不要用了。

还是一样主体内容 {dede:field.body function='replaceurl(@me)'/}  这样调用,具体如果还需要详细的话可以更改里面的正则表达式


具体需要用到宽度的正则 和高度的正则

/height=.{0,5}\s/i

/width=.{0,5}\s/i


但是这种方法会直接把style变没了

4、不会去掉文章style的解决方案。

比较麻烦,网上看见的,没测试是否可行,可以自行研究下,大概就是提取body里面的style生成class然后再调用到头部去

因为我的并没有用多少style所以懒搞的了。


(1)、找到include/arc.archives.class.php,找到函数ReplaceKeyword($kw,&$body),大概1182行,在这个函数后面添加如下2个函数:

function replacePicUrl($content = null, $url="") {
        $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
        $replacement = "<mip-img src={$url}$3.$4></mip-img>";
        $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }
    function getStyle($content = null){
          preg_match_all("/style=('|\")([^'\"]+)('|\")/",
                $content,$matches);
          $styles = $matches[0];
          $styles_value = $matches[2];
          $style_custom = "";
          $i = 0;
          foreach($styles_value as $key){
            $style_custom .= ".class".$i."{".$key."}";
            $class_name = 'class="class'.$i.'"';
            $replacements = $class_name;
             
            $patterns = $styles[$i];
            $content = str_replace($patterns, $replacements, $content);
            $i++;
        }
        $res['style_custom'] = $style_custom;
        $res['content'] = $content;
        return $res;
    }


(2)在函数ParAddTable()里的

$this->SplitTitles = Array();上面,

unset($row);下面,

大概253行添加如下代码:

$content = $this->replacePicUrl($this->Fields['body'], $GLOBALS['cfg_basehost']);

        $content_arr = $this->getStyle($content); 

        $this->Fields['body'] = $content_arr['content'];

        $this->Fields['style_custom'] = $content_arr['style_custom'];


(3)、找到函数MakeHtml($isremote=0),大概358行,在里面的

$this->Fields['filename'] = empty($this->Fields['filename'])? '' : $this->Fields['filename'];

下面添加如下代码:

$this->Fields['style_custom'] = empty($this->Fields['style_custom'])? '' : $this->Fields['style_custom'];


(4)、在templete的article_article.htm模板中的head标签内添加如下代码:

<style mip-custom>

  {dede:field.custom_style/}

  </style>


5、文章内链更换

注明:内链请勿填写绝对地址,还是在上面2、3的方法里面改,还是增加一个变量正则,然后替换。www.lol9.cn

function replaceurl($content){

        $pattern = Array("/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i","/style=(.*?)>/i",'/<a\b[^>]+\bhref="([^"]*)"[^>]*>/i');

        $replacement = Array("<mip-img  popup  src=/$3.$4></mip-img>",">",'<a  data-type="mip" href=http://mip.lol9.cn$1>');

        $content = preg_replace($pattern, $replacement, $content);

    return $content;

}


6、文章文档关键词维护的链接更换

如果你用了织梦自带的关键字加链接,在核心》批量维护》文档关键词维护里面,那么就要替换成绝对地址与增加mip链接格式

打开include/arc.archives.class.php 文件 ,大概在1219行,在变量$key_url前面加上自己的链接,与href前面加上 data-type=mip

$query = "SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";
        $this->dsql->SetQuery($query);
        $this->dsql->Execute();
        while($row = $this->dsql->GetArray())
        {
            $key = trim($row['keyword']);
            $key_url=trim($row['rpurl']);
            $karr[] = $key;
            $kaarr[] = "<a  data-type=mip href='http://mip.lol9.cn$key_url'><u>$key</u></a>";
        }



织梦二次开发QQ群

本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » 织梦mip改造方法及改造心得分享

标签: 织梦MIP MIP改造
  • 织梦dedecms手机站m目录下不生成index.html实现动态更新
    阅读
    用 织梦建站 会手机站首页不更新的苦恼,每次 PC 更新,要去删除 m 目录下的 index.html ,手机站首页才会更新,这样很麻烦,通过以下修改,让手机站首页是动态的,不生成 index.html , PC 端更新后,手机端首页自动更新。 把 \m\index.php 里面的 $row[sho...
  • 织梦Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201的解决方法
    阅读
    织梦系统安装好后,进入后台,出现Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201 一般出现这个问题是因为升级网站引起的。我们可以直接把错误提示这段代码删除或者屏蔽就行了。 打开/dede/sys_info.php,找到201...
  • 织梦Dedecms 5.7 火车头采集免登陆发布接口适配PHP7.X插件
    阅读
    最近有粉丝说,之前用的火车头发布文章时,用免登陆接口在PHP7.0环境中显示空白,于是今天抽空更新了一下插件(话说,DedeCms早期版本无法在PHP7.X运行,用最新版的!),那么接下来的代码就是插件发布模块无须变更,只需要变更接口插件就可以了 ?php/*/////...
  • 织梦dedecms系统多城市分站功能开发思路
    阅读
    当前很多人用织梦dedecms系统建站,多城市分站对地方性长尾关键词和全国市场的推广有着很大的帮助,今天和大家分享下如何实现织梦dedecms系统多城市分站功能。 方法/步骤 织梦dede城市分站有三种方法: 第一种是建立N多个模板,有多少个城市建立多少个模板,...
  • 织梦dedecms提交自定义表单后发送到指定邮箱
    阅读
    网上很多教程都是用 dedecms 自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用 phpmailer 来给站长发送自定义表单提交的数据到指定邮箱上 (QQ 邮箱, 163 邮箱都可以 ) ,不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先...
  • dedecms织梦ckplayer视频播放器插件详细安装教程
    阅读
    织梦 ckplayer 视频播放器插件安装步骤: 第一步、下载安装插件。下载地址:点击此处 将下载下来的压缩包中的相应编码的模块文件解压出来再上传到织梦程序的 data/module/ 文件夹内或者直接在后台模块管理菜单里面选择上传新模块安装即可。如下图: 1.1 )上...
  • 织梦5.7火车头免登陆文章发布模块采集后自动更新织梦整站
    阅读
    织梦5.7火车头免登陆文章发布模块采集后自动更新织梦整站详细步骤: 1、下载文档后,把DedeCMS免登陆接口文章发布模块DedeCMS 5.7 免登陆接口文章发布模块.wpm复制到火车头采集规则文件夹Module下; 2、选择您网站对应的接口文件.如您网站是gbk编码,请选择 g...
  • 织梦采集侠破解版自动采集触发教程24小时触发自动审核自动更新
    阅读
    最新采集侠V2.9.2破解版,可以在网站进行全自动数据采集,采集侠破解版可以帮助用户快速提升自己网站的Seo排名。 织梦采集侠是一款基于dedecms的一套根据关键词自动采集,无须编写复杂的采集规则,自动伪原创,自动发布内容的绿色插件。简单配置好后能实现24...
  • 织梦dedecms网站添加打赏功能
    阅读
    有时我们看到别人家的织梦dedecms网站有打赏功能,是不是羡慕嫉妒恨呢?今天我来给大家讲讲织梦网站怎么添加支付宝、微信打赏功能。 二、首先登陆畅言后台(没有畅言账号的首先注册账号) 三、进入后台,找到实验室--打赏 四、设置配置信息,保存。 五、复制...
  • 织梦火车头采集免登陆接口采集文章后自动更新栏目、首页、文章页,实现自动化采集
    阅读
    最近用织梦dedecms程序采集文章时候,发现每次采集都要去后台更新一下文章、栏目、上下篇以及首页,操作起来真心麻烦,后面在网上收集了一些代码以及经过自己调试,发现居然可以自动更新文章页以及栏目、首页。真心爽,这样子就能稳稳的挂机采集了哈。这是免...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
织梦后台发布文章后自动生成手机静态页或MIP静态页
« 上一篇 2018年08月31日
织梦cms之熊掌号改造教程
下一篇 » 2018年08月30日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多
世界未解之谜奇闻新闻织梦网站模板(带手机端)
更新时间:2019-11-08

人已经看过了!

安防监控_电子数码_医疗设备织梦自适应模板
更新时间:2017-08-10

人已经看过了!

织梦dedecms在线演示插件下载
更新时间:2020-06-06

人已经看过了!

织梦HTML5响应式自适应文化传媒公司网站模板
更新时间:2019-09-19

人已经看过了!

蓝色装修工程建设类企业响应式织梦模板
更新时间:2019-11-11

人已经看过了!

绿色新闻资讯织梦模板带测试数据
更新时间:2017-08-10

人已经看过了!