2011-11-22 3 views
0
나는, 나는 언어 설정에 대한 모든 텍스트가있는 쿼리를

CFML, 데이터베이스, 다국어 웹 사이트

text은 사용자의 기본 언어에 따라 네 개의 열 id, languageid, name있는 데이터베이스 생성 한

(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

관련 문제