Перейти к контенту
  • 0

Как выводить информационный блок после первого сообщения?


nafigator

Вопрос

Приветствую!

Каким образом можно выводить на странице просмотра темы после первого сообщения на странице свой блок? Возможно ли это сделать средствами шаблонизатора IPB? Может, есть моды?..

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 61
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Рекомендуемые сообщения

  • 0
Скажите пожалуйста, а можно сделать то же самое, только без всяких Goggle BOt и т.д. Т.е. просто вставить рекламу? Так, как это делает мод Topic_Ads. Просто мод Topic_Ads долго грузит страницу, а этот нет.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Приветствую!

Каким образом можно выводить на странице просмотра темы после первого сообщения на странице свой блок? Возможно ли это сделать средствами шаблонизатора IPB? Может, есть моды?..

 

гораздо красивее реклама смотрится не как "второе" сообщение, а вот так вот http://vendforum.ru/forum/viewtopic.php?t=28

 

но это пример на форуме на движке phpbb

там данную вещ реализовали с помощью вставки кода в два файла которые отвечают за вывод топиков

OPEN 
viewtopic.php 

FIND 
     'U_POST_ID' => $postrow[$i]['post_id']) 
  ); 

AFTER ADD 
  if ( $i == 0) 
  { 
     $template->assign_block_vars('postrow.switch_advertisement', array()); 
  } 

OPEN 
viewtopic_body.tpl 

FIND 
<!-- END postrow --> 

BEFORE ADD 
<!-- BEGIN switch_advertisement --> 
<tr> 
<td colspan="2" align="center"> 
Insert your Google AdSense Code Here 
</td> 
</tr> 
<tr> 
<td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td> 
</tr> 
<!-- END switch_advertisement -->

 

как бы реализовать данный пример http://vendforum.ru/forum/viewtopic.php?t=28 на IPBшном движке??

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это тоже самое. Разница только в том, что в topic ads используется стандартый шаблон поста, а тут — нестандартный.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Пошагово на примере яндекс.директа:

1. Заходишь в админку.

2. Заходишь в управление дизайном и шаблонами.

3. Заходишь в изменение общего шаблона.

4. После тэга body вставляешь код из конкструктора директа. У меня он такой:

<script type="text/javascript"><!--

// Размер шрифтов
var yandex_ad_fontSize = 1;

// Настройки объявлений Директа
var yandex_direct_fontColor = '000000';
var yandex_direct_BorderColor = 'E7A64A';
var yandex_direct_BgColor = 'F8F5F1';
var yandex_direct_headerBgColor = 'FFF5EA';
var yandex_direct_titleColor = '5C5C5C';
var yandex_direct_siteurlColor = '333399';
var yandex_direct_linkColor = '5C5C5C';
function yandex_direct_print(){ }

var yandex_r = Math.round(Math.random() * 100000);
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/4007?rnd=' + yandex_r + '&direct-style=2&direct-limit=3&market-limit=0"></'+'sc'+'ript>');

//--></script>

 

Сохраняешь и идёшь дальше.

 

5. Заходишь в редактирование HTML для нужного шаблона.

6. Ищешь там skin_topic (или "просмотр темы").

7. Дальше ищешь RenderRow.

8. В самое-самое начало перед всем кодом вставляешь следующее:

<if="this->post_style_count++ == 1">

<!-- Begin Yandex.Direct Advertising -->
<table class='ipbtable' cellspacing="1">
<tr>
	<td align="center" valign="middle" class="row2" width="100%">
<script type="text/javascript">yandex_direct_print()</script>
</td>
</tr>
<tr>
<td class="catend" colspan="2"><!-- clear /--></td>
</tr>
</table>
<!-- End Yandex.Direct Advertising -->
</if>

 

Всё. У меня сейчас код на модерации, позже поделюсь результатом.

 

В восьмом пункте оформление вокруг

<script type="text/javascript">yandex_direct_print()</script>

можешь делать такое, какое посчитаешь нужным. Я просто сократил количество строчек и "слил" ячейки.

 

В коде директа, кстати, уменьшил количество блоков до трёх и раскрасил их в цвета форума.

Должно получиться не слишком навязчиво.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ресурс у меня не пошел модерацию.

Смотрели, видимо, на главную, а там нет кода.

 

Отписал в саппорт...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Пошагово на примере яндекс.директа:

1. Заходишь в админку.

2. Заходишь в управление дизайном и шаблонами.

3. Заходишь в изменение общего шаблона.

4. После тэга body вставляешь код из конкструктора директа. У меня он такой:

<script type="text/javascript"><!--

// Размер шрифтов
var yandex_ad_fontSize = 1;

// Настройки объявлений Директа
var yandex_direct_fontColor = '000000';
var yandex_direct_BorderColor = 'E7A64A';
var yandex_direct_BgColor = 'F8F5F1';
var yandex_direct_headerBgColor = 'FFF5EA';
var yandex_direct_titleColor = '5C5C5C';
var yandex_direct_siteurlColor = '333399';
var yandex_direct_linkColor = '5C5C5C';
function yandex_direct_print(){ }

var yandex_r = Math.round(Math.random() * 100000);
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/4007?rnd=' + yandex_r + '&direct-style=2&direct-limit=3&market-limit=0"></'+'sc'+'ript>');

//--></script>

 

Сохраняешь и идёшь дальше.

Конструктор кода у меня стоит повыше, но, думаю, это не принципиально.

5. Заходишь в редактирование HTML для нужного шаблона.

6. Ищешь там skin_topic (или "просмотр темы").

7. Дальше ищешь RenderRow.

8. В самое-самое начало перед всем кодом вставляешь следующее:

<if="this->post_style_count++ == 1">

<!-- Begin Yandex.Direct Advertising -->
<table class='ipbtable' cellspacing="1">
<tr>
	<td align="center" valign="middle" class="row2" width="100%">
<script type="text/javascript">yandex_direct_print()</script>
</td>
</tr>
<tr>
<td class="catend" colspan="2"><!-- clear /--></td>
</tr>
</table>
<!-- End Yandex.Direct Advertising -->
</if>

В MSIE все чудненько, а в firefox вот этот кусок кода влезает после КАЖДОГО сообщения темы:

post_style_count++ == 0">

Не подскажете как победить?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я вот теперь понимаю, что это не слишком эффективное размещение, хотя самое не напряжное для пользователей.

Лучше выводить блок ПЕРЕД последним ответом в теме, если там есть хотя бы один ответ.

 

Пока решение не родил, правда, но и слишком не заморачивался :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А можно ли сделать так, чтобы рекламка выводилась после первого сообщения в теме, но была видна только определенной группе, скажем только GUEST или MEMBERS? Изменено пользователем tolik777
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Всталяю вот этот код в RenderRow:

<if="this->post_style_count++ == 1">

<!-- Begin Yandex.Direct Advertising -->
<table class='ipbtable' cellspacing="1">
<tr>
	<td align="center" valign="middle" class="row2" width="100%">
<script type="text/javascript">yandex_direct_print()</script>
</td>
</tr>
<tr>
<td class="catend" colspan="2"><!-- clear /--></td>
</tr>
</table>
<!-- End Yandex.Direct Advertising -->
</if>

 

А он мне выдает ошибку:

Эти шаблоны не могут быть сохранены, так как найдена ошибка при парсинге. Проверьте введенный HTML-код и все входящие переменные.

 

Не пойму в чем дело. Ошибок вроде бы никак нет.

 

Убираю первую строку:

<if="this->post_style_count++ == 1">

Тогда перестает ругаться.

Изменено пользователем tolik777
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не пойму в чем дело.

В версии форума. Перед this поставьте знак доллара($).

 

Читать на досуге: Использование логических конструкций в шаблонах.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо заработало.

 

Но вот теперь хочу сделать так, чтобы рекламка была видна всем, кроме групп admin, moderators и supermods.

Сделал условие is_mod в if. Но работает только для админов и супермодераторов. А как сделать для модераторов условие?

Вот на страничек, на которую ссылку выше давали написано:

проверка на принадлежность к одной из группы. Вместо »{gid1}» и »{gid2}» подставить номера нужных групп.

А где взять номер группы? У меня толко названия в 2.3.3.

Изменено пользователем tolik777
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Id группы например из адресной строки в админке при редактировании группы, или из БД.

 

Должно и для модераторов работать...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Все получилось спасибо. ID посмотрел в базе.

Скажите, а логические выражения для общего шаблона форума не проходят?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Незачто.

Нет.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Пошагово на примере яндекс.директа:

Огромное спасибо за доступное объяснение (и за значок доллара - отдельное :D - сама б не догадалась, ибо чайник...)

Один вопрос - можно так же доходчиво объяснить (для блондинок), почему помимо рекламы после первого сообщения у меня появилось окно гугловского AdSense в конце страницы форума? Делала все, как было велено :)

Вот тут пример (см после первого поста и в низу страницы).

Не то чтобы это сильно расстраивало, но как-то это не правильно... ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Для гугла не нужно делать 4й пункт.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я вот теперь понимаю, что это не слишком эффективное размещение, хотя самое не напряжное для пользователей.

Лучше выводить блок ПЕРЕД последним ответом в теме, если там есть хотя бы один ответ.

 

Пока решение не родил, правда, но и слишком не заморачивался :D

У меня самым эффективным вариантом пока оказалось размещение между <% MEMBER BAR %> и <% NAVIGATION %> в общем шаблоне форума. Но тоже хочу найти способ вставлять рекламу перед последним сообщением. Если знаете уже решение - поделитесь, пожалуйста.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Подскажите пожалуйста версия форума 2.3.3, стоит мод pinned post, когда устатавливаю Topics ads то он выводиться не после первого поста а после последнего. Как мне исправить чтобы выводился после первого поста! Вот ссылка на мой форум http://freewm.net/forums
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Приветсвую!

Есть ли возможность рандомом менять баннеры? не могу придумать по какому принципу ну иконечно же синтаксис ))

 

<if="">

banner 1

</if>

<else>

banner 2

</else>

 

Заранее спасибо!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У меня вопросы такие...

 

1. Как сделать, чтоб реклама висела на глвынойниже шапки...

Я раньше ставил до

 

 

 

<% NAVIGATION %>

Но в этом случае на всех страницах светится...

 

2. Как вставить рекламу, прямо над быстрым ответом??

Ссылка на комментарий
Поделиться на других сайтах

  • 0

1. Поместить баннер в skin_global->global_board_header, сделав там условие по ipb.input['_low_act']=='idx'.

 

2. В шаблоне быстрого ответа, skin_topic->quick_reply_box_open.

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.