ما هي أفضل طريقة لتخزين البيانات باستخدام إضافة؟

إذا كنت تحتاج فقط إلى تخزين مُعرِّف موضوع واحد (مثل قيمة قابلة للتهيئة)، فإن أبسط طريقة أصلية في Discourse هي استخدام SiteSetting.
ستحصل أيضًا على واجهة مستخدم إدارية مدمجة تلقائيًا.

config/settings.yml:
``yml
plugins:
my_plugin_enabled:
default: true
client: false

my_plugin_topic_id:
default: 0
client: false
type: topic # يوفر لك محدد موضوع في واجهة المستخدم الإدارية
``

في كود الإضافة الخاص بك بلغة Ruby:
rb topic_id = SiteSetting.my_plugin_topic_id topic = Topic.find_by(id: topic_id)

إذا كنت تفضل تخزينه برمجيًا (غير معروض كإعداد)،
فإن PluginStore مناسب أيضًا لمفتاح-قيمة واحد:

``rb
store = PluginStore.new(“my_plugin”)
store.set(“topic_id”, some_topic_id)

topic_id = store.get(“topic_id”)
``

3 إعجابات