IPB

Интеграция рекламных блоков между постов в Invision Power Board 2.3.x

28 октября 2013 81

Давно я не вспоминал про IPB (Invision Power Board), все как-то больше про WordPress и иже с ними. Между прочим, IPB — один из лучших форум-движков. Я бы даже сказал, что он самый лучший! Единственный минус этой платформы в том, что за ее использование нужно платить. Впрочем, как и за все хорошее в этой жизни. Но оно реально того стоит.

CodeCanyon: Лучшие SEO-плагины для WordPress
CodeCanyon: Лучшие SEO-плагины для WordPress

Со старых времен имеется у меня один форум на IPB 2.3.6. Он как-то живет сам по себе, не привлекая особого внимания с моей стороны, откручивает Сапу, Liex, Adsense и что-то еще. Но на прошлой неделе мне в очередной раз поступило предложение от Profit-Partner по размещению на сайте рекламы Яндекс Директ. Причем с кучей рекомендаций по увеличению дохода. В частности, было рекомендовано размещение объявлений в топиках после первого и последнего поста. Понятно, в 3-ей линейке IPB данная задача решается в пару кликов. Но как интегрировать рекламные блоки после первого и последнего поста в IPB 2.3.6 пришлось подумать. Все оказалось очень просто. Заходим в админку. Переходим во Внешний вид > Список стилей, выбираем активный шаблон и в выпадающем меню нажимаем Изменить HTML шаблоны, в списке шаблонов выбираем skin_topic (просмотр темы) и переходим в RenderRow. Собственно, в него и будем вносить все изменения. Выглядит это примерно так:

ipb-ads-integration

В самом конце добавляем следующие строки:

<if="in_array( $post['post_count'] % $this->ipsclass->vars['display_max_posts'], array( 0, 1 ) )">
[ADS CODE]
</if>

Таким образом блоки будут выводиться после первого и последнего поста. Если вы хотите выводить объявления только после первого поста, можно воспользоваться вот таким кодом:

<if="$post['post_count'] == 1">
[ADS CODE]
</if>

Если вы хотите, чтобы зарегистрированные пользователи не видели рекламу, воспользуйтесь вот такой конструкцией:

&lt;if="$post['post_count'] == 1"&gt;
&lt;if="ipb.member['id'] < 1"&gt;
[ADS CODE]
&lt;/if&gt;
&lt;/if&gt;

Естественно, Яндекс Директ в данной публикации несет исключительно демонстрационную смысловую нагрузку. Вместо него может быть любая другая контекстная, тизерная или баннерная реклама. Например, Adsense, Pay-Click и т.п.

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии
Комментирование закрыто.

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее