こんにちは。
ERBファイルからテーマ設定にアクセスすることは可能でしょうか?
私のユースケースは以下の通りです。
Discourse Easy Footer (GitHub - discourse/Discourse-easy-footer) で設定されたフッターリンクを取得し、クローラーがフッターリンクを認識できるように、フッターのERBファイルに追加したいと考えています。
ご協力ありがとうございます。
こんにちは。
ERBファイルからテーマ設定にアクセスすることは可能でしょうか?
私のユースケースは以下の通りです。
Discourse Easy Footer (GitHub - discourse/Discourse-easy-footer) で設定されたフッターリンクを取得し、クローラーがフッターリンクを認識できるように、フッターのERBファイルに追加したいと考えています。
ご協力ありがとうございます。
技術的にははい…テーマに id=5 があれば、次のようなことができます。
<%= Theme.find(5).cached_settings["my_setting_name"] %>
しかし、コアやプラグインを特定のテーマに依存させることは強くお勧めしません。テーマが変更またはアンインストールされた場合、サイト全体が完全に壊れるサーバーエラーを引き起こす可能性があります。
どのクローラーを対象としていますか?Googleですか?もしそうなら、Googleはクロール時にJavaScriptを実行します。テーマのJavaScriptはクローラービューに含まれます。重要なのは、type="text/discourse-plugin" の代わりに、単純な <script> タグを使用する必要があるということです。
したがって、次のようなものがクローラービューで機能するはずです。
<script>
document.body.append(`<a href="${settings.my_link}">footer link</a>`)
</script>