Accedi alle impostazioni del tema da Ruby ERB

Ciao,

Vorrei sapere se è possibile accedere alle impostazioni del tema da un file ERB?

Il mio caso d’uso è il seguente:

Vorrei recuperare i link del footer impostati in Discourse Easy Footer (GitHub - discourse/Discourse-easy-footer) e aggiungerli in un file ERB per il footer, in modo che anche i crawler possano vedere i link del footer.

Grazie per l’aiuto.

2 Mi Piace

Tecnicamente sì… se il tema avesse id=5 potresti fare qualcosa come

<%= Theme.find(5).cached_settings["my_setting_name"] %>

Ma ti sconsiglierei vivamente di far dipendere un core o un plugin da un tema specifico. Se il tema viene modificato o disinstallato, potrebbe causare errori del server che potrebbero interrompere completamente il tuo sito.

A quale crawler ti stai rivolgendo? Google? Se sì, Google esegue Javascript durante il crawling e il Javascript del tema è incluso nella visualizzazione del crawler. La cosa fondamentale è che devi usare un semplice tag <script> invece di un <script type="text/discourse-plugin">.

Quindi qualcosa del genere dovrebbe funzionare nella visualizzazione del crawler:

<script>
  document.body.append(`<a href="${settings.my_link}">footer link</a>`)
</script>
3 Mi Piace