توجد توثيقات، لكنها حالياً مجزأة إلى حد ما بدلاً من أن تكون مقدمة كدليل مطور مستقل.
المراجع الأساسية المعتمدة هي:
-
توثيق المخطط في config/site_settings.yml:52، ويغطي depends_on وdepends_on_values وdepends_behavior وdependent_setting_display.
-
إرشادات وأمثلة أكثر تفصيلاً في .skills/discourse-site-settings/SKILL.md:203.
-
مواصفات سلوك الخلفية في spec/lib/site_setting_extension_spec.rb:706.
-
حل تبعيات الواجهة الأمامية في frontend/discourse/admin/services/admin-site-setting-store.js:41.
-
أمثلة واجهة المستخدم في frontend/discourse/tests/acceptance/admin-site-settings-test.js:142.
النحو الأساسي هو:
child_setting:
default: ""
depends_on:
- parent_setting
depends_behavior: "hidden"
بالنسبة للآباء من نوع enum أو string:
child_setting:
default: ""
depends_on:
- parent_setting
depends_on_values:
parent_setting:
- enabled_mode
- another_mode
depends_behavior: "hidden"
dependent_setting_display: "inline"
قيد مهم: يمكن أن تحتوي التبعيات على عدة آباء مباشرين، لكن حل التبعيات ليس متعدٍ. لا يؤدي السلسلة المتداخلة مثل A → B → C تلقائياً إلى جعل C تأخذ في الاعتبار ما إذا كان B مخفياً بواسطة A؛ بل تقيم C فقط القيمة المخزنة لـ B.