XF 2.1 Размещение рекламы в РСЯ

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.1

john_j

Проверенные
Сообщения
422
Решения
8
Реакции
133
Баллы
745
Новый код рекламы в РСЯ состоит из двух частей
1 - загрузчик (в секции HEAD)
2 - код рекламного блока (в секции BODY)

Можно ли как-то это разместить в одном рекламном месте?
Пока только на уровне идеи создать дополнительное рекламное место для загрузчика в секции head.
Но может есть другие варианты?

1629170054338.png
 
А зачем создавать велосипед? Сделайте модификацию на PAGE_CONTAINER и перед </head> в модификации поставьте 1 раз верхний код и все. Потом вторую часть вставляйте у всех блоков реклам куда хотите.
Не можете, не хотите, или нет желания не в чем разбираться, ставьте оба кода в то места где хотите показать рекламу, друг за другом
 
Если вам плевать на скорость загрузки форума то можете пихать что угодно и куда угодно.

Как сказали выше - правильное решение использовать PAGE_CONTAINER модификацию шаблона страницы.
 
А зачем создавать велосипед?
Реклама планируется не на всех страницах форума, в нестандартных местах, и не для всех групп.
Кроме того, форум не мой, и человек который будет вставлять код, хочет на уровне вкл/выкл.
Поэтому использовать стандартные настройки рекламы в движке было-бы удобно.
Под требование владельца дополнительные места придется создавать по любому.
C XF слабо знаком. Надеялся что есть какая-нибудь директива вставки в секцию head из рекламного места.
 
Последнее редактирование:
C XF слабо знаком
Так в чем же дело? Создай рекламную позицию. Создай модификации с условиями. Создай плагин, в конце концов.

Если слабо знаком, почему берешься что то делать на чужом форуме, почему человек не обратится сам сюда?
 
Последнее редактирование модератором:
C XF слабо знаком. Надеялся что есть какая-нибудь директива вставки в секцию head.

Классика жанра, в движке не шарим, но беремся что-то делать для других людей. А если ты ему форум сломаешь?)

Внешний вид - модификации шаблонов - Добавить модификацию шаблона

шаблон: PAGE_CONTAINER
ключ модификации: reklama
Тип: простая замена

Найти:
HTML:
</head>

Заменить:
HTML:
<!-- Yandex.RTB -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
$0

Сохранить.

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

Код:
<xf:if is="{$xf.visitor.isMemberOf([1, 2])}">
<!-- Yandex.RTB -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
</xf:if>

Где 1/2 это группы которым разрешен просмотр или изменить условие для групп которым не разрешен просмотр и все. Хотя хз, будет там чего в пустом блоке без кода показывать или нет
 
Последнее редактирование:
Где 1/2 это группы которым разрешен просмотр или изменить условие для групп которым не разрешен просмотр и все.
Это всё понятно, но такие варианты не подходят.
Сегодня владелец хочет одним группам показывать, а завтра другим.
При этом разбираться в шаблонах и править их она точно не будет, только на уровне выбора из стандартной настройки рекламы.
 
Вам тогда писать ей только плагин, с полями групп кому показывать и с полем вставки рекламы по тем местам что нужно, другого варианта нет.
 
другого варианта нет.
Нашел такой вариант:
Код:
<xf:head option="abc">
<!-- Yandex.RTB -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
</xf:head>

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

При этом разбираться в шаблонах и править их она точно не будет, только на уровне выбора из стандартной настройки рекламы.
Или я что-то не понимаю
 
вам нужно чтобы человек не лазил по шаблонам и не менял там группы
Да именно так.
Рекламный код будет без всяких модификаций, и не нужно лезть в шаблон
Код:
<xf:head option="abc">
код загрузчика
</xf:head>
код блока
код загрузчика будет размещен в секции head, а код блока на своем рекламном месте
 
Код:
<xf:js window.yaContextCb=window.yaContextCb||[] />
<xf:js src="https://yandex.ru/ads/system/context.js" async />
<div id="yandex_rtb_"></div>
<xf:js>
    window.yaContextCb.push(()=>{
        Ya.Context.AdvManager.render({
            renerTo:'yandex_rtb_|
            blockId:'|
        })
    })
</xf:js>
там код может не точен, но по такому принципу, в одно месту где надо
 
Последнее редактирование:
там код может не точен, но по такому принципу, в одно месту где надо
Лучше когда загрузчик context.js загружается до содержимого страницы.
Больше шансов на засчитывание показа и эффективнее если несколько рекламных блоков.
Поэтому, загрузчик блоков лучше вставлять в head, а код блока на рекламное место.
Этот код просто кучей в body на рекламном месте. Я так пробовал ранее, работает, но хотелось по уму.

Ну пробуйте потом расскажете
Проверил, работает как надо.
Всё расставляет по своим местам.
 
При этом разбираться в шаблонах и править их она точно не будет, только на уровне выбора из стандартной настройки рекламы.
Это и не нужно. Вы один раз сделали модификацию в head и все, дальше показали где настраивать рекламу и туда уже обычный код рекламы вставлять.
Рекламных позиций стандартных, которые в настройки-реклама, в большинстве случаев достаточно. Уточните, в какие места будет вставляться реклама, и поищите плагины позиций под эти места, типа такого, если нужен менеджер ресурсов например.
 
Последнее редактирование:
Всем привет. Тоже пытаюсь вставить "Код загрузчика рекламы" от Яндекс перед /head

Внешний вид - модификации шаблонов - Добавить модификацию шаблона
Но никак не могу найти где "Добавить модификацию шаблона"? XF 2.2.9
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу