Перейти к контенту
  • 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, чтобы лишний раз не дергать с каждым запросом файлы

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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