花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來(lái)到素材無(wú)憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

織夢(mèng)mip改造方法及改造心得分享

時(shí)間: 2019-04-25 08:36 閱讀: 作者:素材無(wú)憂網(wǎng)

1、先說(shuō)下前端布局吧!別漏掉了

  A)<html mip> 這玩意得有 字符集統(tǒng)一為utf-8

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

  C) 頭部基礎(chǔ)東西不能丟,

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

<!--TODO: canonical href需要替換成原頁(yè)面url-->

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

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


 D)底部js腳本不能少,如果增加一個(gè)組件就得在下面引入對(duì)應(yīng)的組件js,可以去官網(wǎng)找,本站也有詳細(xì)教程

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

織夢(mèng)mip改造方法及改造心得分享

E)鏈接全部用絕對(duì)鏈接加http的哦! 如果對(duì)應(yīng)頁(yè)面是mip頁(yè)則添加data-type="mip" ,如果添加了百度轉(zhuǎn)化后點(diǎn)擊鏈接會(huì)是類(lèi)似前端路由的機(jī)制。

 F) 其他安裝基礎(chǔ)的寫(xiě)法寫(xiě)即可,不懂得可以看本站教程或者去官網(wǎng)

2、第一個(gè)麻煩,圖片麻煩

圖片的格式需要換成

<mip-img 

    layout="responsive" 

    width="250" 

    height="163"

    popup 

    alt="www.lol9.cn" 

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

</mip-img>


還好好處就是我的是織夢(mèng)新版和用的百度編輯器,圖片上傳后寬高也不是用的style,而且直接的width="",具體安裝百度編輯器的方法可以在本站織夢(mèng)欄目找。

現(xiàn)在的話就要把

<img src="/uploads/allimg/171220/231A11311-0.gif">


下面這個(gè)換成上面的格式

我增加了一個(gè)函數(shù),在include 里面的extend.func.php 下。這個(gè)應(yīng)該所有的php后臺(tái)都是試用的

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;
       
}

然后織夢(mèng)調(diào)用主體內(nèi)容 {dede:field.body function='replaceurl(@me)'/} 執(zhí)行了下函數(shù)替換了img標(biāo)簽。


后面又研究了下,如果是用的織夢(mèng)的編輯器,就會(huì)產(chǎn)生style,于是我又弄了另外一個(gè)

下面這個(gè)有一個(gè)漏洞!最近才發(fā)現(xiàn)就是圖片上傳后alt標(biāo)簽或者title標(biāo)簽里面有一個(gè).jpg就會(huì)蛋疼了,會(huì)直接匹配到那個(gè)位置,而這個(gè)又沒(méi) " 結(jié)尾的,所以會(huì)導(dǎo)致整個(gè)網(wǎng)頁(yè)出問(wèn)題。解決辦法,下面已經(jīng)修改,就是在src=加上"與結(jié)尾處加上" 。$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;  
}


這個(gè)的話就直接把style去掉了,好歹解決了吧!推薦用下面這個(gè),但是如果是小圖沒(méi)有寬度,會(huì)100%顯示,略微蛋疼


這里就略過(guò)了。


3、第三個(gè)麻煩,style標(biāo)簽麻煩,

我們?cè)诶锩鏁?huì)更改字的樣子,就會(huì)產(chǎn)生style,又得替換

第三個(gè)解決方案還是根據(jù)上面的第二種圖片替換的方法

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個(gè)變量替換成2個(gè)變量

如果用了這個(gè) 第二個(gè)就不要用了。

還是一樣主體內(nèi)容 {dede:field.body function='replaceurl(@me)'/}  這樣調(diào)用,具體如果還需要詳細(xì)的話可以更改里面的正則表達(dá)式


具體需要用到寬度的正則 和高度的正則

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

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


但是這種方法會(huì)直接把style變沒(méi)了

4、不會(huì)去掉文章style的解決方案。

比較麻煩,網(wǎng)上看見(jiàn)的,沒(méi)測(cè)試是否可行,可以自行研究下,大概就是提取body里面的style生成class然后再調(diào)用到頭部去

因?yàn)槲业牟](méi)有用多少style所以懶搞的了。


(1)、找到include/arc.archives.class.php,找到函數(shù)ReplaceKeyword($kw,&$body),大概1182行,在這個(gè)函數(shù)后面添加如下2個(gè)函數(shù):

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)在函數(shù)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)、找到函數(shù)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標(biāo)簽內(nèi)添加如下代碼:

<style mip-custom>

  {dede:field.custom_style/}

  </style>


5、文章內(nèi)鏈更換

注明:內(nèi)鏈請(qǐng)勿填寫(xiě)絕對(duì)地址,還是在上面2、3的方法里面改,還是增加一個(gè)變量正則,然后替換。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、文章文檔關(guān)鍵詞維護(hù)的鏈接更換

如果你用了織夢(mèng)自帶的關(guān)鍵字加鏈接,在核心》批量維護(hù)》文檔關(guān)鍵詞維護(hù)里面,那么就要替換成絕對(duì)地址與增加mip鏈接格式

打開(kāi)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>";
        }



版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)mip改造方法及改造心得分享

標(biāo)簽:  
相關(guān)文章
模板推薦