2008-10-30 3 views
0

Я использую symfony и propel, и я пытаюсь вызвать определенную культуру на объекте и вывести некоторые поля этого объекта на экран в этой конкретной культуре. Однако, если отображается запись базы данных объекта не те поля, в этой конкретной культуре, я хотел бы, чтобы по умолчанию базовой культуры (в данном случае, en_US)Как вы проверяете, есть ли у объекта propel запись i18n?

Я делаю это так:

$currentLesson = $currentLesson->getCurrentLessonsI18n($lessonCulture); 

Но когда я вывожу, как этот

$currentLesson->getTitle(); 

Он выводит пустую строку, если нет культуры рекорд для него. Мой вопрос заключается в том, есть ли способ сделать объект по умолчанию конкретным culuture, если тот, который я укажу, недоступен, или есть способ увидеть, имеет ли конкретный объект запись i18n для культуры?

что-то вроде этого:

if($currentLesson->cultureExists($lessonCulture) $currentLesson = $currentLesson->getCurrentLessonsI18n($lessonCulture); 

или

sfConfig::setPropelDefaultCulture("en_US"); 

ответ

0

i18n записи вы получите обратно от getTranslation($language) может быть проверена с isNew(), который расскажет вам, если Propel только помирился (true) или если он пришел из базы данных (false).

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