第一次發原創好激動,該注意點什么?
在開發過程中用戶有許多要求,比如這個多語言切換就是一個需求。
首先講解一下DESTOON(DT)后台系統如何做這個中英、甚至多語言切換的這個功能。
DT本身不自帶多語言切換功能,但是強大的DT可以切換默認語言和默認模板的。
首先登陸后台
系統設置中-》網站設置-》SEO優化-》網站生成html-》關閉
這樣在切換模板的時候就不用手動在后台生成頁面了。
思路是利用默認模板和默認語言的切換,調用后台底層的php文件,動態生成多語言的頁面。
下面開始傻瓜式的教程:
在根目錄下找到:
【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);
這樣就可以實現中英文切換了!!!!
但是!!!!這樣子有個致命的缺陷!!!!!!!
那就是你后台錄入信息的語言不會隨着更改語言而更改,加入錄入商品信息是中文的,你切換到英文版,商品信息還是中文的。
那么就會有小伙伴問我了,那怎么才能做到錄入的信息也是英文的呢??
沒有辦法我的小伙伴!!
說沒有辦法那是假的!
申請兩個域名啊,兩套系統啊,搞起來啊~~~錄入兩次啊