È necessario aggiungere un tag quando esistono altri 4 tag sull'argomento

Ciao a tutti,

Ho recentemente riorganizzato il mio forum e ho iniziato a utilizzare i tag.

Una cosa con cui sto lottando (so che non è nativo, ma forse esiste un semplice plugin?) è che quando viene creato un nuovo argomento con il tag “sync1”, “sync2”, “sync3” o “sync4”, devo anche aggiungere il tag “apim”. Qualcuno sa come potrei fare?

Purtroppo le mie competenze in Ruby sono scarse.
Ho visto entrambi

e

ma non sono sicuro di come adattarlo per verificare semplicemente se uno di quei 4 tag è presente nell’argomento invece dei controlli che gli esempi hanno attualmente.

In pratica, se uno qualsiasi dei tag in Rosa esiste nell’argomento, anche il tag Verde dovrebbe essere aggiunto automaticamente.

DiscourseEvent.on(:topic_created) do |topic|
  guardian = Guardian.new(Discourse.system_user)
  required_tag_names = [”sync1”, “sync2”, “sync3”, “sync4”]
  DiscourseTagging.tag_topic_by_names(topic, guardian, ["apim"], append: true) if topic.tags.exists?(name: required_tag_names)
end

Ti serve questo :arrow_up: codice.

Modifica: puoi anche imporlo aggiungendo un gruppo di tag e impostando “apim” come tag padre. In tal caso, gli utenti potranno scegliere i tag “sync” solo dopo aver selezionato il tag padre “apim”.


Penso che sarebbe più utile se permettessimo agli utenti di selezionare prima i tag figlio, quindi aggiungeremo automaticamente il tag padre :person_shrugging: La maggior parte degli utenti finali non sarà a conoscenza dei requisiti del tag padre.

2 Mi Piace

Eccellente, di solito cerco di capire queste cose da solo ma Ruby non è la mia specialità e avevo la sensazione che qualcuno avrebbe avuto un esempio in pochi minuti :slight_smile:

Ora devo solo capire come aggiungerlo a un plugin, ma sono sicuro che è abbastanza semplice.

Concordo sul fatto che a volte selezionare un tag figlio che aggiunge un genitore potrebbe essere un risultato preferito.

Grazie per il tuo aiuto.

EDIT: plugin creato e funzionante come previsto, grazie mille per il tuo aiuto!

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.