علاقة صفحة Silverstripe بلغات مختلفة
-
28-10-2019 - |
سؤال
لقد أنشأت Link DataObject للسماح للمستخدمين تلقائيًا بإنشاء مرجع إلى صفحة مختلفة في الواجهة الأمامية.أستخدم لغتين في الواجهة ، الألمانية والإنجليزية.في النافذة المنبثقة ، أقوم بإنشاء قائمة منسدلة لتحديد الصفحات Genacodicetagpre
ولكني أحصل فقط على الصفحات الألمانية في القائمة المنسدلة.حاولت تغيير لغة الإدارة إلى اللغة الإنجليزية ولكن دون تغيير.يبدو أن قاعدة البيانات لا تعرض سوى الصفحات الألمانية ...
أي دليل؟
المحلول
تعديل: لقد أجريت المزيد من عمليات البحث واكتشفت كيفية القيام بذلك.تحتاج إلى استدعاء "disable_locale_filter" قبل الحصول على كائنات SiteTree الخاصة بك:
Genacodicetagpreثم اتصل بـ "enable_locale_filter" بمجرد استعادتها: Genacodicetagpre
هذه طرق أخرى سأتركها هنا حيث أعتقد أنها لا تزال مفيدة ...
أعتقد أنه قد يتعين عليك القيام بذلك باستخدام Translatable :: get_by_locale () - أفترض أنك تريد فقط أن يتمكن الأشخاص من تحديد صفحة لربطها بلغتهم ؟؟
ربما شيء من هذا القبيل؟
Genacodicetagpreتحرير: راجع التعليقات أدناه ولكن هناك خيار آخر وهو استخدام الوظيفة Translatable :: get_current_locale () للعثور على جميع الصفحات في شجرة الموقع لتلك اللغة ... إذا كان المستخدم يستعرض صفحة باللغة الإنجليزية ، فيجب تعيين اللغةإلى اللغة الإنجليزية إلخ ... Genacodicetagpre
يمكنك أيضًا الحصول على اللغة من الصفحة الحالية على سبيل المثال Genacodicetagpre