По сути, я хочу реализовать то, что очень похоже на то, что есть на сайте ниже.
Обратите внимание на рекламный баннер 300x250 в правой боковой панели страницы темы на Quora.
У меня есть аналогичная структура страницы темы в форуме Discourse с большим количеством сообщений в каждой теме. Я хочу, чтобы пользователи видели фиксированный/плавающий рекламный баннер 300x250, который должен быть «липким» (sticky). Это означает, что когда пользователи прокручивают страницу темы вниз, чтобы читать новые сообщения, этот баннер в правой боковой панели должен оставаться на месте, точно под текущим слайдером навигации по теме (timeline темы) в Discourse.
То же поведение, что вы видите здесь: https://www.quora.com/What-are-the-lessons-people-most-often-learn-too-late-in-life
Как мне этого добиться? Я уже использую плагин GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum · GitHub, но не нашел в нем опции для реализации такой функции.
Я нашел эту тему: How to show advertising in timeline of the topic page?, но не уверен, как вставить туда код рекламы Google AdSense, который выглядит примерно так. Я не знаю, как вставить это в HTML Ember JS, так как получаю ошибки, связанные с тегом script и незакрытым div. Поскольку это уже тег script, как мне загрузить скрипт Google JS внутри существующего скрипта Discourse Ember?
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Topic side bar timeline -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-708790731309"
data-ad-slot="5067761793"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
При попытке сделать это я получаю следующую ошибку:
Мой код выглядит так:
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('topic-timeline-container:before', helper => {
return helper.h('div.side-block', [
helper.rawHtml('<div id="friends"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-708790731302" data-ad-slot="5067761793" data-ad-format="auto" data-full-width-responsive="true"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({});</script></div>'),
])
});
</script>
Также я использую плагин «Оглавление» (Table of Contents) для Discourse: DiscoTOC - automatic table of contents, поэтому реклама должна отображаться также под текущим оглавлением. Сейчас я заметил, что когда появляется оглавление, таймлайн темы исчезает.
Может ли кто-нибудь помочь мне реализовать это? Такой липкий баннер будет более заметен для моих пользователей, что улучшит CPM.
@ladydanger @neil, не могли бы вы помочь?
Заранее спасибо.


