菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

教程:如何改造织梦CMS以适应mip

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:织梦cms教程 MIP 代刷网源码 ueditor

织梦CMS改造mip教程:首先,将网站根目录下的dede文件夹重命名为mip。然后,在mip文件夹下新建一个名为mip的文件夹。接着,将原dede文件夹下的模板文件复制到mip文件夹下的mip文件夹中。在mip文件夹下新建一个名为mip.php的文件,并将以下代码复制进去:<?php $this->M_mip(); ?>。最后,访问你的网站,如果看到“正在改造中…”的提示,说明改造成功。

页面整体结构改造

<!DOCTYPEhtml><htmlmip><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,minimum-scale=1,initial-scale=1"><linkrel="stylesheet"type="text/css"href="/d/pic20240105/wda4u3uphkd.html"></mip-img><scriptsrc="/d/pic20240105/crsmhc0letp.html"></mip-img>

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

functionreplaceurl($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_imgas$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,于是我又弄了另外一个

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

这个的话就直接把style去掉了,好歹解决了吧!推荐用下面这个。

style标签去除

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

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

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

不去掉文章style

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

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

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

functionreplacePicUrl($content=null,$url=""){$pattern="/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i";$replacement="<mip-imgsrc={$url}$3.$4></mip-img>";$content=preg_replace($pattern,$replacement,$content);return$content;}functiongetStyle($content=null){preg_match_all("/style=('|")([^'"]+)('|")/",$content,$matches);$styles=$matches[0];$styles_value=$matches[2];$style_custom="";$i=0;foreach($styles_valueas$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标签内添加如下代码:<stylemip-custom>{dede:field.custom_style/}</style>

文章内链更换

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

functionreplaceurl($content){$pattern=Array("/<img(.*?)src=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>/i","/style=(.*?)>/i",'/<ab[^>]+bhref="([^"]*)"[^>]*>/i');$replacement=Array("<mip-imgpopupsrc=/$3.$4></mip-img>",">",'<adata-type="mip"href=http://mip.lol9.cn$1>');$content=preg_replace($pattern,$replacement,$content);return$content;}

文章文档关键词链接更换

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

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

$query="SELECT*FROMdede_keywordsWHERErpurl<>''ORDERBYrankDESC";$this->dsql->SetQuery($query);$this->dsql->Execute();while($row=$this->dsql->GetArray()){$key=trim($row['keyword']);$key_url=trim($row['rpurl']);$karr[]=$key;$kaarr[]="<adata-type=miphref='http://mip.lol9.cn$key_url'><u>$key</u></a>";}


相关文章

    无相关信息
评论
建站知识
建站知识
使用技巧
调试安装
运营推广