Как добавить один блок РСЯ несколько раз на страницу?
Добрый вечер всем, есть код ниже, если его несколько раз вставить на страницу, то он должен по идее несколько раз отдельно подгрузить рекламу яндекса, но так не происходит, подгружается последняя вставленная копия скрипта. Мне нужно в статью вставить перед 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>
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для добавления одного и того же блока 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.
Надеюсь, это поможет вам добавить один блок кода несколько раз на страницу!