首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

DedeCMS (織夢) 雙語網站單主機部署:雙欄目架構實現中英切換

     編輯:程式設計綜合問答

需求

在同一萬網虛擬主機上部署中文版與英文版企業網站,使用織夢 CMS,希望後台統一管理、前台語言切換。

推薦架構:單站雙欄目樹

**不建議**建立兩個獨立織夢安裝 (維護雙倍、資料不同步)。**標準做法是在一個織夢實例內建立兩棵平行欄目樹**。

實施步驟

1. 後台建立頂級欄目

  • 頂級欄目 1:`中文版` (目錄名 `zh`、`cn` 或 `ch`) — 隱藏「顯示在導航」
  • 頂級欄目 2:`English` (目錄名 `en`) — 隱藏「顯示在導航」

2. 各語言下建立對應欄目結構


中文版 (zh)
  ├─ 關於我們 (about)
  ├─ 產品中心 (products)
  ├─ 新聞動態 (news)
  └─ 聯系我們 (contact)

English (en)
  ├─ About Us (about)
  ├─ Products (products)
  ├─ News (news)
  └─ Contact Us (contact)

**關鍵**:**對應欄目的「目錄名」保持一致** (如 `about`、`products`),僅「欄目名稱」翻譯。這樣前台模板可通用,URL 結構統一:`/zh/about/` vs `/en/about/`。

3. 模板設計:語言變數分離

  • 建立通用模板檔 (如 `header.htm`, `footer.htm`, `list_article.htm`)。
  • 靜態文字 (導航、按鈕、標籤) 用 **全域變數/模板標籤** 輸出,根據當前語言切換內容。
    
        {dede:global name='cfg_lang' runphp='yes'}
        if (@me=='en') @me = 'Products'; else @me = '產品中心';
        {/dede:global}
        
  • 或建立兩套模板目錄 (`templets/default_zh`, `templets/default_en`),欄目設定「模板風格」指向對應目錄 (維護成本較高)。

4. 前台語言切換連結



中文 | 
English


English Version

利用欄目目錄名一致性,自動對應跳轉。

5. 內容發布流程

  1. 編輯在「中文版」欄目發布文章。
  2. 複製/翻譯內容,在對應的「English」欄目發布 (可手動、可二次開發「一鍵複製到英文欄目」功能)。
  3. 生成靜態 (或偽靜態),前台即可按語言訪問。

優缺點分析

進階:二次開發「一鍵同步」

在 `dede/article_add.php` 發布成功後,掛鉤自動在目標語言欄目建立關聯文章 (複製標題/內容/縮圖,狀態設為待翻譯),編輯列表顯示「待翻譯」標記,大幅提升雙語維護效率。

結論

織夢雙語站**標準解法:單實例雙頂級欄目樹,目錄名對應,模板語言變數化**。避免雙安裝實例。若需自動同步,需二次開發後台掛鉤。萬網虛擬主機綁定域名指向根目錄,配合偽靜態規則即可完美運行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
優點缺點
單一後台、單一資料庫、單一代碼庫,維護成本最低 發布文章需雙語同步操作 (無原生自動翻譯/同步)
URL 結構清晰 `/zh/...` `/en/...`,SEO 友好 會員/互動模組 (留言、表單) 需額外處理語言隔離
虛擬主機無需支援多站點/子目錄綁定 模板邏輯稍複雜 (需判斷語言輸出文字)