第一次發原創好激動,該注意點什麼?php
在開發過程當中用戶有許多要求,好比這個多語言切換就是一個需求。html
首先講解一下DESTOON(DT)後臺系統如何作這個中英、甚至多語言切換的這個功能。優化
DT自己不自帶多語言切換功能,可是強大的DT能夠切換默認語言和默認模板的。網站
首先登錄後臺ui
系統設置中-》網站設置-》SEO優化-》網站生成html-》關閉翻譯
這樣在切換模板的時候就不用手動在後臺生成頁面了。htm
思路是利用默認模板和默認語言的切換,調用後臺底層的php文件,動態生成多語言的頁面。blog
下面開始傻瓜式的教程:教程
在根目錄下找到:開發
【lang】--》找到【zh-cn】--複製【zh-cn】並更名爲【en】--》將【en】裏面文件的中文所有翻譯成英文的(各類詞典各類查啊!!!)
第二步:
根目錄--》找到【template】(就是放模板的文件夾)--》將【default】複製一份並更名爲【English】
這樣就有兩套模板了,你能夠去後臺系統設置--》網站設置中看一下【默認語言】和【默認模板】兩個下拉列表是否出現了【en】和【English】選項,有請往下看,若沒有請回到本文頭部睜大你的眼珠子再跟着我作一遍!!!!!!
ok!恭喜你來到了這裏。
原理就是把後臺的選擇語言這個功能搬到前臺去
首先在前臺寫一個a標記
<a href=" {DT_STATIC}changelang.php?language=en&template=english">切換爲英文版</a>
而後在根目錄下新建php文件,直接複製我這段話進去就ok了!!!!
<?php require 'common.inc.php'; if ($_GET) { $language = isset($_GET['language']) ? $_GET['language'] : ''; $template = isset($_GET["template"]) ? $_GET["template"] : ''; if ($language != '' && $template != '') { $config=array("language"=>$language,"template"=>$template); $CFG["language"] = $language; $CFG["template"] = $template; if(!is_write(DT_ROOT.'/config.inc.php')) msg('根目錄config.inc.php沒法寫入,請設置可寫權限'); $tmp = file_get(DT_ROOT.'/config.inc.php'); foreach($config as $k=>$v) { $tmp = preg_replace("/[$]CFG\['$k'\]\s*\=\s*[\"'].*?[\"']/is", "\$CFG['$k'] = '$v'", $tmp); } file_put(DT_ROOT.'/config.inc.php', $tmp); tohtml('index'); } } header("location:".DT_STATIC);
這樣就能夠實現中英文切換了!!!!
可是!!!!這樣子有個致命的缺陷!!!!!!!
那就是你後臺錄入信息的語言不會隨着更改語言而更改,加入錄入商品信息是中文的,你切換到英文版,商品信息仍是中文的。
那麼就會有小夥伴問我了,那怎麼才能作到錄入的信息也是英文的呢??
沒有辦法個人小夥伴!!
說沒有辦法那是假的!
申請兩個域名啊,兩套系統啊,搞起來啊~~~錄入兩次啊