Вариант для 2.х:
1. Заходим в админку->внешний вид->нужный стиль->html шаблоны->skin_topic
Справа внизу выбираем "Добавить шаблон"
Заполняем поле:
Название: RenderBannerRow
остальные поля можно оставить без изменений. В этом шаблоне будет храниться код вашего баннера.
примечание к пункту 1 - Если хотите использовать одинаковый цвет постов для отображения цвета рекламы и цвета постов то - используем в шаблоне RenderBannerRow следующий код:
Если его не использовать - шаблон будет вставлять рекламу с белым фоном, а при использовании будет маскировать под цвет темы.
2. Найти в файле sources\lib\func_topic_linear.php
Код:
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderRow( $row, $poster );
3. Добавить ниже по выбору:
1 вариант показ рекламы первым постом:
Код:
//-----------------------------------------
// Banner RenderBannerRow
//-----------------------------------------
if($row['post_count'] == 1) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}
2 вариант показ рекламы за каждым 10 постом:
Код:
//-----------------------------------------
// Banner RenderBannerRow
//-----------------------------------------
if($row['post_count']%10 == 0) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}
3 вариант показ рекламы каждые 9ть постов, только незарегистрированным пользователям и пользователям с числом сообщений менее 50ти....
Код:
//-----------------------------------------
// Banner RenderBannerRow
//-----------------------------------------
if( $this->ipsclass->member['posts'] < 50 ) {
if($row['post_count']%9 == 0) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}
}
Редактирование баннера производится в = Заходим в админку->внешний вид->нужный стиль->html шаблоны->skin_topic->RenderBannerRow
Приложение допустимые классы юзеров и условия (
это вставлять никуда не нужно - это памятка для вас по группам и классам!
Код:
Группа юзера:
$this->ipsclass->member['mgroup']
id юзера:
$this->ipsclass->member['id']
Количество постов юзера:
$this->ipsclass->member['posts']
А также некоторые переменные определяющие привелегии по группе:
Принадлежность к модератору:
$this->ipsclass->member['is_mod']
Принадлежность к супер-модератору:
$this->ipsclass->member['g_is_supmod']
Принадлежность к группе админа (могут заходить в админку):
$this->ipsclass->member['g_access_cp']
Допустимые условия
<условие> - это определённая логическая конструкция. Например
== - равно
!= - не равно
> - больше
< - меньше
Так например при коде
//-----------------------------------------
// Banner RenderBannerRow
//-----------------------------------------
if( $this->ipsclass->member['id'] == 100 ) {
if($row['post_count']%10 == 0) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}
}
блок рекламы будет виден только пользователю с id = 100 за каждым 10тым постом.
А например при коде
//-----------------------------------------
// Banner RenderBannerRow
//-----------------------------------------
if( $this->ipsclass->member['id'] > 100 ) {
if($row['post_count']%10 == 0) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}
}
Рекламный блок будет виден только пользователям с id номером свыше 100 за каждым 10тым постом.
пример в действии можно увидеть любым незарегистрированным пользователям на моем
Зы - никто не мешает в данный код вставить рекламу Бегуна, баннеро-крутилку или еще что-либо.
Примечание - при баннерокрутилке рекомендуется выставить частоту показа баннера более высокую нежели предельно допустимое отображение число постов на одну страницу (если вы ничего не меняли с этим числом, то предельно допустимое число 40 у любого форума на IPB) стало быть рекомендуется каждое 40вое сообщение перемежать рекламой. Зачем это нужно? Чтобы баннерокрутилка не глючила вызываясь два раза и более на одну и ту-же страницу. В случае со статическим баннером его можно помещать хоть через каждый 1 пост.
Время установки мода 5-10 минут.
на авторство не претендую... лишь собрал воедино