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

Я пытаюсь показать в шаблоне только sede на итальянском языке ("Ufficio di Roma"), но он также показывает sede на французском языке.

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

Любая идея?


person ziiweb    schedule 06.10.2010    source источник
comment
Не могли бы вы также включить код PHP, который вы используете для выбора и отображения значений?   -  person Jan Fabry    schedule 09.10.2010


Ответы (1)


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

sedi:
  id:

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

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

person feklee    schedule 17.11.2010