Как добавить один блок РСЯ несколько раз на страницу?

Ссылка скопирована
1 ответ

Добрый вечер всем, есть код ниже, если его несколько раз вставить на страницу, то он должен по идее несколько раз отдельно подгрузить рекламу яндекса, но так не происходит, подгружается последняя вставленная копия скрипта. Мне нужно в статью вставить перед H2 такие блоки что бы увеличить количество рекламы. Помогите пожалуйста решить проблему и переделать скрипт что бы он работал.

<div id="yandex_rtb_R-A-XXXXXX-1"></div>  <script type="text/javascript">   if (typeof pageNumber === "undefined") {     var pageNumber = 1;   } else {     pageNumber++;   }    var adDiv = document.getElementById("yandex_rtb_R-A-XXXXXX-1");   adDiv.id = "yandex_rtb_R-A-XXXXXX-1-" + pageNumber;    (function(w, d, n, s, t) {     w[n] = w[n] || [];     w[n].push(function() {       Ya.Context.AdvManager.render({         blockId: "R-A-XXXXXX-1",         renderTo: "yandex_rtb_R-A-XXXXXX-1-" + pageNumber,         async: true,         pageNumber: pageNumber       });     });     t = d.getElementsByTagName("script")[0];     s = d.createElement("script");     s.type = "text/javascript";     s.src = "//an.yandex.ru/system/context.js";     s.async = true;     t.parentNode.insertBefore(s, t);   })(this, this.document, "yandexContextAsyncCallbacks"); </script>

<div id="yandex_rtb_R-A-XXXXXX-1"></div> <script type="text/javascript"> if (typeof pageNumber === "undefined") { var pageNumber = 1; } else { pageNumber++; } var adDiv = document.getElementById("yandex_rtb_R-A-XXXXXX-1"); adDiv.id = "yandex_rtb_R-A-XXXXXX-1-" + pageNumber; (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-XXXXXX-1", renderTo: "yandex_rtb_R-A-XXXXXX-1-" + pageNumber, async: true, pageNumber: pageNumber }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks"); </script>

П.С. у меня нет возможности вставлять в ручную коды рекламы как написанно в яндексе. Мне нужно одним кодом вставить перед каждым заголовком H2.

П.С.С. если отдельно еще добавить скрипты вызова рекламы с уникальными идентификаторами то реклама начинает подгружаться.

<script>window.yaContextCb.push(()=>{     Ya.Context.AdvManager.render({         blockId: "R-A-123456-1",         renderTo: "yandex_rtb_R-A-123456-1-2", // в конце названия ставится 2     }) })</script> <script>window.yaContextCb.push(()=>{     Ya.Context.AdvManager.render({         blockId: "R-A-123456-1",         renderTo: "yandex_rtb_R-A-123456-1-3", // в конце названия ставится 2     }) })</script> <script>window.yaContextCb.push(()=>{     Ya.Context.AdvManager.render({         blockId: "R-A-123456-1",         renderTo: "yandex_rtb_R-A-123456-1-4", // в конце названия ставится 2     }) })</script> <script>window.yaContextCb.push(()=>{     Ya.Context.AdvManager.render({         blockId: "R-A-123456-1",         renderTo: "yandex_rtb_R-A-123456-1-5", // в конце названия ставится 2     }) })</script> <script>window.yaContextCb.push(()=>{     Ya.Context.AdvManager.render({         blockId: "R-A-123456-1",         renderTo: "yandex_rtb_R-A-123456-1-6", // в конце названия ставится 2     }) })</script>

<script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1-2", // в конце названия ставится 2 }) })</script> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1-3", // в конце названия ставится 2 }) })</script> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1-4", // в конце названия ставится 2 }) })</script> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1-5", // в конце названия ставится 2 }) })</script> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1-6", // в конце названия ставится 2 }) })</script>

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Для добавления одного и того же блока PHP-кода несколько раз на страницу, можно воспользоваться функцией include в PHP. Эта функция позволяет включать содержимое одного файла в другой.

Для начала создайте отдельный файл с вашим PHP-кодом, который вы хотите добавить на страницу. Назовем его, например, block.php. В этом файле поместите весь необходимый PHP-код, который вы хотите использовать несколько раз.

Пример содержимого файла block.php:

 

Теперь, чтобы добавить этот блок кода на вашу страницу несколько раз, просто используйте функцию include в нужных местах.
Пример использования include на странице:

 
 
 
    <title>Моя страница</title>
 
 
    <div class="content">
 
    </div>
 
    <div class="sidebar">
 
    </div>

<title>Моя страница</title> <div class="content"> </div> <div class="sidebar"> </div>

Таким образом, блок кода из файла block.php будет добавлен на вашу страницу в двух разных местах - внутри div с классом content и внутри div с классом sidebar. При необходимости вы можете добавить этот блок кода еще в другие части вашей страницы, просто использовав функцию include с путем к файлу block.php.

Надеюсь, это поможет вам добавить один блок кода несколько раз на страницу!

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно