Бот-информер доступности сайта   •   Магазин расширений
1 033 просм
6 комм
Поделиться:

Вставляем рекламу после n-й краткой новости на DLE

Недавно на одном из форумов прочитал, что в Google Adsense добавили нативную рекламу – рекламу, которая гармонично вписывается в контент вашего сайта и при этом хорошо воспринимается пользователями.

Поэтому, решив установить один из рекламных блоков на свой сайт в DataLife Engine, я стал думать, как же это можно хорошо реализовать. Ознакомился с идеями на других сайтах. Их было несколько – либо обыграть все это через тег custom, или же воспользоваться стандартными рекламными инструментами, и мне это не совсем понравилось.

Немного покопавшись, я соорудил следующий хак, с помощью которого можно вставить рекламный блок после каждой нужной короткой записи на всех страницах вашего сайта.

1. Подключитесь к вашему сайту по FTP.

2. Откройте файл show.short.php в папке /engine/modules/, найдите строку, содержащую:

$global_news_count ++;

Сразу после нее вставьте:

// Рекламный блок 
if($global_news_count == 3 || $global_news_count == 5) { 
	$adv = "код рекламы"; 
} else {
	$adv = "";
}

«3» и «5» – здесь порядковый номер материала на странице (!) – не путайте с ID новости, а вместо «код рекламы» вставьте полученный вами код рекламного блока.

Если вы хотите добавить еще несколько порядковых номеров – добавьте код по аналогии:

$global_news_count  == NUMB

Где «NUMB» - порядковый номер новости.

3. В этом же файле найдите строку, содержащую:

$tpl->compile( 'content' ); 

Выше нее вставьте:

$tpl->set('{adv}', $adv);

Обратите внимание, что таких строк, в зависимости от версии движка, может быть несколько – вам же необходимо найти первое совпадение.

Сохраняете изменения и отправляете файл обратно на сайт.

4. Откройте файл в папке /templates/название темы, отвечающий за краткий вид новостей (по умолчанию – файл shortstory.tpl). И если вы хотите, чтобы рекламный блок шел после указанных материалов, вставьте в самый конец, а если перед – то в самых верх всего кода следующий тег:

{adv}

Также сохраните изменения и отправьте файл на сайт.

5. Завершающим этапом будет очистка кэша на сайте. О том, как это сделать, читайте в данной статье.

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

6
комментарий
Дмитрий
12.07 в 13:54
Для файл shortstory.tpl проще воспользоваться тегом
[newscount=x] текст [/newscount]
Выводит текст указанный в тегах если показывается X новость, где X это число показываемой на странице новости.
  • 1
Дмитрий, как вариант. Статья по этому тегу уже есть на сайте - https://www.pandoge.com/stati_i_sovety/vyvod-materialov-v-dle-nachinaya-s-n-go-nomera
  • 5
Mendel
31.10 в 21:33
Здравствуйте, хотел по вашему совету из этой статьи вставить объявление между краткими новостями. Сделал все как указанно в статье, а оно мне ошибку выдает при переходе на сайт:
Parse error: syntax error, unexpected '}' in /home/mende122/domains/and-playmarket.ru/public_html/engine/modules/show.short.php on line 21 Call Stack: 0.0010 290368 1. {main}() /home/mende122/domains/and-playmarket.ru/public_html/index.php:0 0.0012 439816 2. require_once('/home/mende122/domains/and-playmarket.ru/public_html/engine/init.php') /home/mende122/domains/and-playmarket.ru/public_html/index.php:44 0.0088 1869960 3. require_once('/home/mende122/domains/and-playmarket.ru/public_html/engine/engine.php') /home/mende122/domains/and-playmarket.ru/public_html/engine/init.php:664

у меня DLE 11, может быть причина в этом что код не работает? как решить проблему данную?
  • 0
Mendel, проблема в чем то другом - напишите нам в ВК, обязательно поможем.
  • 5
oxideome
17.06 в 06:36
Нужно ли добавлять обратный слеш перед скобкам " " в коде рекламного блока перед вставкой?
  • 0
oxideome, зависит от кода. Думаю что экранизация будет не лишней. А вообще, чтобы на это не отвлекаться, лучше воспользоваться этой статьей - https://www.pandoge.com/stati_i_sovety/kak-vstavit-html-css-i-js-v-php-kod
  • 0
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария