Frage

Ich bin mit symfony und treiben, und ich versuche, eine bestimmte Kultur auf ein Objekt und Ausgabe einige Felder des Objekts auf dem Bildschirm in dieser spezifischen Kultur zu berufen. Wenn jedoch das abgebildeten Datenbankeintrag des Objekts nicht diese Felder in dieser spezifischen Kultur hat, würde ich es gerne an die Basiskultur (in diesem Fall en_US)

auf dem Standard

Ich mache es wie folgt aus:

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

Aber wenn ich Ausgabe wie diese

$currentLesson->getTitle();

Es gibt einen leeren String, wenn es keine Kultur Rekord für sie ist. Meine Frage ist, gibt es eine Möglichkeit, ein Objekt standardmäßig auf einen bestimmten culuture zu machen, wenn die, die ich nicht zur Verfügung angeben ist, oder gibt es eine Methode, um festzustellen, ob ein bestimmtes Objekt eine Kultur i18n Datensatz hat?

so etwas wie folgt aus:

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

oder

sfConfig::setPropelDefaultCulture("en_US");
War es hilfreich?

Lösung

Sie haben symfony selbst zu überschreiben, um es in einer anderen Sprache als Standard festzulegen. Theres eine gute Arbeitslösung hier http: //www.codemassacre .com / 2008/03/10 / symfony-default-Sprache-Fallback /

Andere Tipps

Der i18n Datensatz Sie wieder von getTranslation($language) bekommen kann mit isNew() getestet werden, die Ihnen sagen, wenn Propel hat gerade wieder gut gemacht (true) oder wenn es darum ging, aus der Datenbank (false).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top