2010-10-06 34 views
0

我有這個架構和夾具:的Symfony /行走:國際化表

sedi: 
    _attributes: { isI18N: true, i18nTable: sediI18n } 
    id:   ~ 


    sediI18n: 
    id: { type: integer, required: true, primaryKey: true, foreignTable: sedi, foreignReference: id } 
    culture: { isCulture: true, type: varchar, size: 7, required: true, primaryKey: true } 
    paese_indirizzo: { type: varchar(6), required: true } 
    indirizzo:  { type: varchar(1024), required: true } 


Sedi: 
    sede_roma_1:    { } 


SediI18n: 
    sede_roma_1_italiano:    { id: sede_roma_1, culture: it, paese_indirizzo: eu, indirizzo: "Ufficio di Roma 1 Testaccio Via Galvani, 17 Roma - 00153 Italia" } 
    sede_roma_1_francese:    { id: sede_roma_1, culture: fr, paese_indirizzo: eu, indirizzo: "Rome Office 1: Testaccio Via Galvani, 17 Roma - 00153 Italia" } 

我想在模板中只顯示在意大利語中塞代(「UFFICIO di Roma的」),但它也表明sede法語..

在該模板中,我寫了var_dump($sf_user->getCulture())並打印出「it」。

有什麼想法?

+0

您是否還可以包含用於選擇和顯示值的PHP代碼? – 2010-10-09 09:05:51

回答

0

我建議你保持約定,並使用小寫字母和下劃線作爲表名。事實上,你不需要編寫太多的代碼來獲得I18N的支持。什麼應該足夠:

sedi: 
    id: 

sedi_i18n: 
    paese_indirizzo: { type: varchar(6), required: true } 
    indirizzo: { type: varchar(1024), required: true } 

相應地調整您的燈具。