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

как вставить рекламу после первого поста


m@}{

Вопрос

рекламное место после первого поста самое кликабельное

 

пример для smf - dama-pik.ru

 

есть форум ipb 1.3 rax.su

 

искал и готового решения не нашел,

единственное что нашел - это автопостинг второго поста (но это не то)

 

а штука классная, может кто- то встречался?

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

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

  • 0
  • 0

Song , большое вам спасибо!!!

 

за ответ на вопрос

и за отличный ресурс по ipb!!!

 

единственное чуточку напрягся для написания функции для skin_topic.php

 

привожу-

 

function RenderBannerRow()
{
global $ibforums;
return <<<EOF
<table width='100%' border='0' cellspacing='1' cellpadding='3'>
<tr><td bgcolor=#eef2f7 width=160px></td>
<td bgcolor=#eef2f7>
реклама
</td></tr></table>
<div class='darkrow1' style='height:1px'></div>

EOF;
}

 

пример рекламы после первого поста- http://rax.su/index.php?showtopic=5711

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

  • 0
Контекстная реклама между постов яндекс / гугле / и пр.

 

Я непонял там ведь написано как вставить после n-го количества поста а как сделать чтобы только после первого было?

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

  • 0
единственное чуточку напрягся для написания функции для skin_topic.php

 

А что писать в Входящие переменные неподскажите

 

И ещё

После:

 

$this->output .= $this->html->RenderRow( $row, $poster );

 

$post_count++;

 

 

 

У меня токого нету если даже по неполной строке писать

 

 

Это же в sourse/action pablic/topic.php искать? :D

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

  • 0

В Админка ->> Управление шаблонами ->> (Нужный скин) ->> Изменить HTML фрагменты ->> skin_topic (Просмотр темы) ->> RenderRow? :D

 

там тоже такого нету

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

  • 0

RenderRow надо искать в php файлах форума.

Искать вот так (по аналогии):

 

http://forum.sysman.ru/uploads/at/9/post-80-1207814369_thumb.jpg

http://forum.sysman.ru/uploads/at/9/post-80-1207814378_thumb.jpg

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

  • 0

Думаю, что немногие разобрались, потому что разница в изменениях между версиям просто пропасть(даже разные файлы редактировать приходится), потому привожу инструкции для версии 2.3.1(для других относительно поздних версий аналогично):

 

Описание функции:

В skin_topic.php нужного стиля после

//===========================================================================
// <ips:warn_level_warn:desc::trigger:>
//===========================================================================
function warn_level_warn($id="",$percent="") {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "{$this->ipsclass->lang['tt_warn']} (<a href=\"java script:PopUp('{$this->ipsclass->base_url}act=warn&mid={$id}&CODE=view','Pager','500','450','0','1','1','1')\">{$percent}</a>%)";
//--endhtml--//
return $IPBHTML;
}

вставляем:

function RenderBannerRow() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "ваш хтмл код";
//--endhtml--//
return $IPBHTML;
}

Затем редактируем sources\lib\func_topic_linear.php(линейное отображение топика) и sources\lib\func_topic_threaded.php(древовидное отображение топика) следующим образом:

После

$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderRow( $row, $poster );

вставляем

if($row['pid'] == $this->topic['topic_firstpost']) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}

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

  • 0
Думаю, что немногие разобрались, потому что разница в изменениях между версиям просто пропасть(даже разные файлы редактировать приходится), потому привожу инструкции для версии 2.3.1(для других относительно поздних версий аналогично):

 

Описание функции:

В skin_topic.php нужного стиля после

//===========================================================================
// <ips:warn_level_warn:desc::trigger:>
//===========================================================================
function warn_level_warn($id="",$percent="") {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "{$this->ipsclass->lang['tt_warn']} (<a href=\"java script:PopUp('{$this->ipsclass->base_url}act=warn&mid={$id}&CODE=view','Pager','500','450','0','1','1','1')\">{$percent}</a>%)";
//--endhtml--//
return $IPBHTML;
}

вставляем:

function RenderBannerRow() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "ваш хтмл код";
//--endhtml--//
return $IPBHTML;
}

Затем редактируем sources\lib\func_topic_linear.php(линейное отображение топика) и sources\lib\func_topic_threaded.php(древовидное отображение топика) следующим образом:

После

$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderRow( $row, $poster );

вставляем

if($row['pid'] == $this->topic['topic_firstpost']) {
$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderBannerRow();
}

 

Все работает... до той пор, пока я не вставляю скрипт от контекстной рекламы. Ругается на него.

Не нравится, что в кавычки я вставляю <script>

 

как поступить?

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

  • 0

Моя реализация сего на 2.3.5.

- В линейном (стандартном) отображении топика

показывать первый блок рекламы после первого поста.

- Если постов на странице больше чем 4 - перед последним постом показывать второй блок.

- Показывать только группам, которы перечислены в файле ( id uрупп в banner_groups.txt через запятую)

 

в файле ./sources/lib/func_topic_linear.php

найти

		//-----------------------------------------
	// Format and print out the topic list
	//-----------------------------------------

	while ( $row = $this->ipsclass->DB->fetch_row( $oq ) )

перед while вставить

// SASH MOD underrow_rklm
$underrow_work = "on";
if($underrow_work == "on"){
	//gettin banner's src and settings
	$underrow_groups = array();
	$underrow_src1 = "";
	$underrow_src2 = "";
	$fp = fopen(ROOT_PATH."/underrow_rkl/banner_groups.txt", "r");
	if($fp){ $underrow_groups = explode(",", fread($fp, 1024)); fclose($fp); }
	$fp = fopen(ROOT_PATH."/underrow_rkl/banner_src1.txt", "r");
	if($fp){ $underrow_src1 = fread($fp, 1024); fclose($fp); }
	$fp = fopen(ROOT_PATH."/underrow_rkl/banner_src2.txt", "r");
	if($fp){ $underrow_src2 = fread($fp, 1024); fclose($fp); }

	//do not display adv for this group ?
	if( !in_array($this->ipsclass->member['mgroup'], $underrow_groups) ){
		$underrow_work = "off";
	}

	$underrow_num_posts = $this->ipsclass->DB->get_num_rows( $oq );
	$underrow_rklm_n = 0;
	$underrow_rklm_pos1 = 0;
	$underrow_rklm_pos2 = -1;
	if($underrow_num_posts > 4){
		$underrow_rklm_pos2 = $underrow_num_posts - 2;
	}
}
// end part1

далее найти

			//-----------------------------------------
		// Print post row
		//-----------------------------------------

		$this->output .= $this->ipsclass->compiled_templates['skin_topic']->RenderRow( $row, $poster );

и добавить ниже

// SASH MOD underrow_rklm
	if($underrow_work == "on"){
		if($underrow_rklm_n == $underrow_rklm_pos1){
			$this->output .= $underrow_src1;
		}
		if($underrow_rklm_n == $underrow_rklm_pos2){
			$this->output .= $underrow_src2;
		}
		$underrow_rklm_n++;
	}
// end part2

+

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

в эту папку положить файлы:

banner_groups.txt (айдишники групп через запятую, без всяких энтеров. В моем случае - это гости, незарегистрированные и новички (группа сразу после регистрации) - 1,2,3)

banner_src1.txt (кусок хтмл, который выводим после первого поста)

banner_src2.txt (соответсвенно, перед последним, если на странице более 4-х постов)

 

для нагруженных ресурсов можно положить коды баннеров и список групп в shmop, чтобы лишний раз не дергать с каждым запросом файлы

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

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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