2010-10-06 6 views
0

j'ai ce schéma et accessoires:Symfony/Propel: tables i18n

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" } 

J'essaie de montrer que dans un modèle de la sede en langue italienne (« Ufficio di Roma »), mais il montre aussi la sede dans la langue française ..

Dans ce modèle, j'ai écrit var_dump($sf_user->getCulture()) et l'imprime "it".

Une idée?

+0

Pourriez-vous également inclure le code PHP que vous utilisez pour sélectionner et afficher les valeurs? –

Répondre

0

Je vous suggère de rester avec les conventions et d'utiliser des caractères minuscules et des traits de soulignement pour les noms de tables. En fait, vous n'avez pas besoin d'écrire beaucoup de code pour obtenir le support I18N. Ce qui devrait être suffisant:

sedi: 
    id: 

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

Adaptez vos appareils en conséquence.