Dle вставляем рекламу

12
M1
На сайте с 26.11.2011
Offline
8
2563

$new_text = $row['full_story'];

$new_text_output = ereg_replace("reklama","<br>
Рекламный скрипт тут, не забываем использовать кавычки /"text/"
<br>",$new_text);

Добавить в show.full.php после

i

f ( !$config['allow_smart_video'] ) {


$row['short_story'] = preg_replace( "#<!--dle_video_begin(.+?)<!--dle_video_end-->#is", "", $row['short_story'] );
$row['short_story'] = preg_replace( "#<!--dle_audio_begin(.+?)<!--dle_audio_end-->#is", "", $row['short_story'] );
$row['full_story'] = preg_replace( "#<!--dle_video_begin(.+?)<!--dle_video_end-->#is", "", $row['full_story'] );
$row['full_story'] = preg_replace( "#<!--dle_audio_begin(.+?)<!--dle_audio_end-->#is", "", $row['full_story'] );

}

}

}

// сюда

После чего в этом же файле заменить строчку:

$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>

На

$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $new_text_output . "</div>" ) );

В результате в полной новости dle заместо слово reklama будет выводиться рекламный код, это может быть баннер, ссылки, direct, adsense и т.п.

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

Интернет-магазин автомобильных видеорегистраторов (http://vijauto.ru) Белый катало статей - запчасти и аксессуары для авто (http://zap.wh-site.ru)
siv1987
На сайте с 02.04.2009
Offline
427
#1

Matrix1, а чем не нравится конструкция $tpl->set( '{reklama}', 'код рекламы' );? В дле и без вашего хватает говно-кода.

Y
На сайте с 22.01.2008
Offline
137
#2
siv1987:
Matrix1, а чем не нравится конструкция $tpl->set( '{reklama}', 'код рекламы' );? В дле и без вашего хватает говно-кода.

это слишком просто и непознавательно)

M1
На сайте с 26.11.2011
Offline
8
#3
siv1987:
Matrix1, а чем не нравится конструкция $tpl->set( '{reklama}', 'код рекламы' );? В дле и без вашего хватает говно-кода.

ты это в новостях собираешься использовать? {reklama} ?

че-т мне кажется что это не пашет в новостях, хотя с dle давно не имел дел.

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

S0
На сайте с 28.09.2010
Offline
30
#4

О боже!ereg_replace, всё накручено, ЗАЧЕМ?!

Достаточно заменить:

$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>

На:

$advert = <<<HTML
Код рекламы
HTML;
$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . str_replace( '{advert}', $advert, $row['full_story'] ) . "</div>

P.s: По хорошему нужно создать рекламный материал в админке с названием advert и написать вот так(Пишу по памяти, данный вариант может НЕ работать):


$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . str_replace( '{advert}', $banner_advert, $row['full_story'] ) . "</div>

И после использовать тег {advert}.

P.p.s: Ещё лучше можно связать их с баннерами из админки, но это уже тянет на больший хак : )

siv1987
На сайте с 02.04.2009
Offline
427
#5
Matrix1:
че-т мне кажется что это не пашет в новостях, хотя с dle давно не имел дел.

Это пашет везде, где подключен шаблонизатор. C дле не то что давно, вы вообще с ним дело не имели. И судя по "ereg_replace" с php тоже "давно".

Matrix1:
у тебя на одну строчку меньше кода, чем я написал и не факт что то что ты предлагаешь быстрее.

На строчку меньше кода?? Не факт что быстрее?? Лол.))

S0
На сайте с 28.09.2010
Offline
30
#6

Делайте как я показал.

P.s: ТС, только увидел.Символы экранируются обратным слешем.

Matrix1:
/"text/"

🤣

P.p.s: $tpl->set( '{reklama}', 'код рекламы' ); Не подойдёт как минимум потому что это нужно писать в шаблон, и выводиться оно будет в каждой новости.А в моём варианте только заменяться в тексте новости.

KK
На сайте с 25.07.2006
Offline
138
#7
Matrix1:
ты это в новостях собираешься использовать? {reklama} ?
че-т мне кажется что это не пашет в новостях, хотя с dle давно не имел дел.
собственно, у тебя на одну строчку меньше кода, чем я написал и не факт что то что ты предлагаешь быстрее. у меня просто идет замена слова, а тут хз у кого еще говно-код.

Че за бред.

siv1987:
Matrix1, а чем не нравится конструкция $tpl->set( '{reklama}', 'код рекламы' );? В дле и без вашего хватает говно-кода.

Поддерживаю. Если вставить это в файл index.php - то работать будет не только в новостях, но и вообще везде. Но только в шаблонах. В тексте статьи не будет.

Хотя так делать имеет смысл только если код рекламы представляет собой php код (sape и т.п.). Если нужно вставить html код - проще всего вставлять через раздел "Рекламные материалы". Тогда вобще не придется никакие php файлы редактировать.

Monetizaciya
На сайте с 05.05.2011
Offline
41
#8

Хм...а чем не нравится:

в шаблон fullstory.tpl

Вставляется код:

<noindex>

<div style="float:left" >

<p style="width:210px; height:210px">

РЕКЛАМНЫЙ КОД (в данном случае банер 200*200)

</p>

</div>

</noindex>

И движок ворошить не нужно :-)

Монетизация сайтов и порталов (http://www.monetizaciya.com/)
KK
На сайте с 25.07.2006
Offline
138
#9

Monetizaciya, он описывал как это сделать именно в тексте статьи, а не на всех страницах или через шаблон.

Но Вы тоже бред советуете.. Есть же в админке раздел "рекламные материалы". Зачем лишний код вставлять в шаблон.

S0
На сайте с 28.09.2010
Offline
30
#10
Kel_Kimpbell:
Че за бред.

Поддерживаю. Если вставить это в файл index.php - то работать будет не только в новостях, но и вообще везде.

Еще один умник :)
Делайте как написал siv1987 Остальные варианты - бред.

О боже.Вы хоть сами знаете что советуете? : )

Хотя, учитывая шаблонизатор DLE возможно вы и правы, НО оно будет работать только в шаблонах, и то я почти уверен что только в main.tpl( Почему? Взгляните на код. ) ; ) А в новостях не будет. Т.к. переменная текста новости отдаётся почти напрямую, без участия шаблонизатора.

P.s: Обоснования где? : ) Точнее даже не так, где обоснование того что указанный мной вариант решения проблемы не делает то-же что и в первом посте(Хотя это с точностью до наоборот), и что он хуже или медленнее, или не будет работать?

P.p.s: Код из первого поста без корректировок вызове Parse error т.к. кавычки экранируются обратным слешем, о чём я так-же написал выше.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий