إعدادات الموقع القابلة للتخصيص متاحة الآن

لقد أضفنا طريقة جديدة للمطورين للتحكم في تجربة الموقع. تسمح إعدادات الموقع القابلة للتخصيص للمظاهر بتجاوز مجموعة محدودة من إعدادات الموقع التي تحددها Discourse core. :gear:

كيف تختلف إعدادات الموقع القابلة للتخصيص عن غيرها؟

لدينا بالفعل مفاهيم لـ إعدادات المظهر و معدلات المظهر، فكيف تختلف إعدادات الموقع القابلة للتخصيص؟ إليك ملخص سريع:

  • إعدادات المظهر - هذه هي الإعدادات المخصصة المستخدمة للتحكم في واجهة المستخدم والوظائف داخل المظهر أو المكون الخاص بك وتوفر خيارات التكوين. لا يمكن لهذه تغيير وظائف Discourse الأساسية.
  • معدلات المظهر - تسمح للمظهر أو المكون بتعديل وظائف مختارة من جانب الخادم لـ Discourse الأساسي كبديل لبناء إضافة.
  • :sparkles: إعدادات الموقع القابلة للتخصيص (جديد) - تسمح للمظهر (وليس المكونات) بتجاوز مجموعة فرعية صغيرة من إعدادات الموقع الأساسية، والتي تتحكم عمومًا في أجزاء من واجهة المستخدم ووظائف أخرى بسيطة. هذا يسمح للمظاهر بالحصول على تحكم أكبر في تجربة الموقع الكاملة.

إعدادات الموقع القابلة للتخصيص لها أنواع بيانات وقيم متطابقة مع إعدادات الموقع التي تتجاوزها. لجميع الأغراض العملية، تصبح قيمة إعداد الموقع في قاعدة البيانات غير ذات صلة، حيث يتحكم كل مظهر في هذه القيمة بشكل فردي الآن.

كيف يمكن للمسؤولين عرض وتغيير إعدادات الموقع القابلة للتخصيص؟

يمكن للمسؤولين عرض وتغيير إعدادات الموقع القابلة للتخصيص في مكانين. أولاً، في كل صفحة مظهر فردية، يوجد الآن قسم “الإعدادات التي يمكن للمظهر تجاوزها” كما هو موضح هنا، فوق القسم الآخر الذي يعرض إعدادات المظهر التي يحددها المظهر:

تشير النقطة إلى أنه تم تغيير القيمة من القيمة الافتراضية لإعداد الموقع. سيؤدي الضغط على “إعادة تعيين” إلى تغيير قيمة إعداد موقع المظهر لمطابقة القيمة الافتراضية لإعداد الموقع.

المكان الثاني الذي يمكن للمسؤولين فيه عرض هذه الإعدادات هو في صفحة جديدة، /admin/config/theme-site-settings:

من هنا، يمكن للمسؤولين رؤية جميع إعدادات الموقع القابلة للتخصيص، وما هي القيمة الافتراضية لإعداد الموقع، وأي المظاهر تتجاوز هذه القيمة. عند تمرير مؤشر الماوس فوق اسم المظهر، ستعرض واجهة المستخدم القيمة التي حددها هذا المظهر.

ماذا سيحدث لتغييرات إعدادات الموقع الحالية الخاصة بي؟

إذا قمت بتغيير enable_welcome_banner أو search_experience من القيم الافتراضية على موقعك، فسنقوم تلقائيًا بترحيل هذه القيم إلى كل مظهر قمت بتثبيته على موقعك، لذلك لن يتغير شيء في واجهة المستخدم لأعضائك.

أين يتم تعريفها؟

يتم تعريف إعدادات الموقع القابلة للتخصيص في ملف config/site_settings.yml الأساسي. كل إعداد موقع قابل للتخصيص لديه خيار themeable: true محدد.

في الوقت الحالي، هناك إعدادان فقط للموقع قابلان للتخصيص - enable_welcome_banner و search_experience - ولكن في المستقبل، من المحتمل أن نجعل المزيد من إعدادات الموقع قابلة للتخصيص.

كيف يمكن لمؤلفي المظاهر التحكم في القيم الافتراضية؟

يمكن لمؤلفي المظاهر تحديد تجاوزات إعدادات موقع المظهر في ملف about.json تحت مفتاح theme_site_settings كما يلي:

"theme_site_settings": {
  "enable_welcome_banner": false
}

سيتم حفظ أي قيمة هنا في قاعدة البيانات وربطها بالمظهر. بمجرد حفظ القيمة، لن تؤثر التغييرات في theme_site_settings في ملف about.json عند تحديث المظهر على القيمة المحفوظة حاليًا في قاعدة البيانات، حيث لا يمكننا معرفة ما إذا كان المسؤول قد غيّر الإعداد في هذه الأثناء.

ما هي قيود إعدادات الموقع القابلة للتخصيص؟

إعدادات الموقع القابلة للتخصيص مخصصة فقط للتحكم في عناصر واجهة المستخدم، وعند استرداد قيمتها، نطلب معرف المظهر، لذا تنطبق هذه القيود:

  • لا يمكن استخدام إعدادات الموقع القابلة للتخصيص في مهام Sidekiq
  • لا يمكن استخدام إعدادات الموقع القابلة للتخصيص في قواعد markdown
  • سيتم تخزين إعدادات الموقع القابلة للتخصيص مؤقتًا بشكل منفصل عن إعدادات موقع العميل باستخدام معرف المظهر كمفتاح
  • ستتجاوز إعدادات الموقع القابلة للتخصيص المفاتيح في خدمة siteSettings على العميل باستخدام محمل التطبيق المسبق
  • لن يتضمن SiteSetting.client_settings_json إعدادات الموقع القابلة للتخصيص، بدلاً من ذلك يمكنك استدعاء SiteSetting.theme_site_settings_json بمعرف المظهر.

كقاعدة عامة، ستكون إعدادات موقع المظهر فقط للإعدادات البسيطة التي تتحكم في أجزاء من واجهة المستخدم، ولا شيء من جانب الخادم.

34 إعجابًا

شكرا جزيلا على هذا التحديث! إنه يساعد بشكل كبير!

لذا للتأكيد فقط، هل سيؤدي هذا إلى تغيير الإعدادات التي لم يتم إجراؤها يدويًا؟

7 إعجابات

ماذا يحدث إذا قمت بتغيير enable_welcome_banner لاحقًا، أي بعد حدوث هذا الترحيل؟ هل سأحتاج إلى تعديل كل سمة وفقًا لذلك؟

4 إعجابات

نعم، لا يمكنك تغيير إعدادات الموقع هذه مباشرة بعد الآن، وستظهر فقط في صفحة التعديل الخاصة بكل سمة على حدة.

إعجابَين (2)

هل يجب تضمين إعداد موقع لافتة الترحيب أيضًا؟

3 إعجابات

هل يمكن أن تتضمن إعدادات الموقع القابلة للتخصيص أيضًا إعدادات الموقع للأصول مثل صور الشعار (onebox)؟

3 إعجابات

تحديث سريع هنا - ستظهر الآن إعدادات الموقع القابلة للتخصيص عند البحث عن “جميع الإعدادات” لتسهيل اكتشافها:

4 إعجابات