2011-11-22 68 views
0

我已經有四列idlanguageidname數據庫,textCFML,數據庫和多語種網站

根據用戶的默認語言,我創建具有爲集語言的所有文本查詢(where languageid=#user.defaultlanguageid#

什麼是最簡單的方法來檢索這些顯示所需的字符串。

似乎每次創建子查詢都有點多餘工作。

正在創造一個功能最好的方法去?

回答

3

你可能只是有填充一個結構(可能是應用程序級的結構),單個查詢 - 這樣的事:

<cfif not IsDefined("application.langMap")> 

<cfquery name="langNames" datasource="...">SELECT * from langTable</cfquery> 

<cfset application.langMap = {}> 
<cfloop query="langNames"> 
    <cfif not StructKeyExists(application.langMap, languageid)> 
     <cfset application.langMap[languageid] = {}> 
    </cfif> 
    <cfset application.langMap[languageid][name] = text> 
</cfloop> 

</cfif> 

然後根據需要在顯示器內的特定字符串:

#application.langMap[mylanguageid][name]# 
+0

我最終創建了一個函數,但是你的代碼幫助了堆積。謝謝 – Daniel