2010-10-06 3 views
0

я быть_наст эта схема и приборы:Symfony/Propel: таблицы 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" } 

Я пытаюсь показать в шаблоне только Седу на итальянском языке («UFFICIO ди Рома»), но он показывает также sede на французском языке.

В этом шаблоне я пишу var_dump($sf_user->getCulture()) и печатает «это».

Любая идея?

+0

Не могли бы вы также указать код PHP, который вы используете для выбора и отображения значений? –

ответ

0

Я предлагаю вам остаться с условностями и использовать строчные буквы и символы подчеркивания для имен таблиц. На самом деле вам не нужно писать много кода, чтобы получить поддержку I18N. Что должно быть достаточно:

sedi: 
    id: 

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

Адаптируйте свои светильники соответствующим образом.

Смежные вопросы