Si vous n’avez besoin de stocker qu’un seul ID de sujet (comme une valeur configurable), la manière la plus simple et native de Discourse est d’utiliser un SiteSetting.
Vous obtenez également automatiquement une interface utilisateur d’administration intégrée.
config/settings.yml :
``yml
plugins:
my_plugin_enabled:
default: true
client: false
my_plugin_topic_id:
default: 0
client: false
type: topic # vous donne un sélecteur de sujet dans l’interface d’administration
``
Dans votre code de plugin Ruby :
rb topic_id = SiteSetting.my_plugin_topic_id topic = Topic.find_by(id: topic_id)
Si vous préférez le stocker par programmation (non exposé comme un paramètre),
PluginStore convient également pour une seule paire clé-valeur :
``rb
store = PluginStore.new(“my_plugin”)
store.set(“topic_id”, some_topic_id)
topic_id = store.get(“topic_id”)
``