|
Поделиться

Ручная вставка рекламы, как сделать?

Если требуется помощь с движком версии 3.1, спросите её здесь.

Сообщение Лазарь » 15.04.16 09:48

Нужно как-то сделать блок внизу всех страниц форума, в который можно вставлять любую рекламу: текст, баннеры, флеш и т.п.
Но важный момент - ручная настройка блока для любой страницы форума, т.е. чтобы делать всё вручную, не автоматом.
Допустим, нужно в какую-то тему определённую добавить рекламу, захожу в тему, жму кнопку, добавляю код, сохраняю. В итоге только в этой теме стоит реклама.

Т.е. функционал нужен такой же, как создание нового сообщения в теме, но создаваться будет рекламный блок расположенный внизу страницы, под сообщениями.
Посоветуйте, пожалуйста, с помощью какого расширения это сделать. Может быть руками можно как-то добавить?
Заранее большое спасибо всем откликнувшимся!!!
Лазарь
 
Сообщения: 15
Зарегистрирован: 06.12.15 10:04

Сообщение Shredder » 15.04.16 10:35

Попробуйте через [BETA] extender: конструктор слушателей событий подключиться к нужному событию шаблона (вроде viewtopic_body_postrow_post_after ), указав для каждого блока свой TOPIC_ID. Например:

Код: Выделить всё
<!-- EVENT viewtopic_body_postrow_post_after -->
	<!-- IF TOPIC_ID eq 25 -->

	==== тут код для темы с ID = 25 ====

	<!-- ELSEIF TOPIC_ID eq 48 -->

	==== тут код для темы с ID = 48 ====

	<!-- ELSEIF TOPIC_ID eq 79 -->

	==== тут код для темы с ID = 79 ====

	<!-- ENDIF -->
<!-- ENDEVENT -->

Конструкций ELSEIF с разными номерами тем можно добавлять сколько угодно перед завершающей ENDIF. Номер (ID) темы посмотрите в адресной строке в части &t=тут_номер
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение Лазарь » 15.04.16 11:58

Отличное решение, спасибо большое, но есть НО. Тем много, коды блока нужно будет постоянно менять, и вручную делать это через шаблоны очень накладно. Идеально такое сделать через интерфейс самого форума, по типу создания сообщения, только создавать не сообщение, а рекламный блок. Может быть есть что-то в этом направлении?
Лазарь
 
Сообщения: 15
Зарегистрирован: 06.12.15 10:04

Сообщение Shredder » 15.04.16 12:16

Тут только расширение отдельное писать. При наличии необходимых событий, разумеется.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05

Сообщение Лазарь » 15.04.16 17:01

Скажите, пожалуйста, а через [BETA] extender: конструктор слушателей событий, сколько тем можно обработать не боясь, что форум будет тормозить?
Ещё вопрос, рекламный блок будет на первой странице темы, или на всех страницах одной темы? Есть ли возможность сделать только на первой?
Лазарь
 
Сообщения: 15
Зарегистрирован: 06.12.15 10:04

Сообщение Shredder » 15.04.16 19:05

Лазарь писал(а):Скажите, пожалуйста, а через [BETA] extender: конструктор слушателей событий, сколько тем можно обработать не боясь, что форум будет тормозить?

Не знаю, это нужно спрашивать у автора. Автор куда-то пропал.

Лазарь писал(а):Ещё вопрос, рекламный блок будет на первой странице темы, или на всех страницах одной темы? Есть ли возможность сделать только на первой?

Будет на всех страницах. Чтобы сделать на первой, необходимо подключиться к событию ядра в файле viewtopic.php, где есть переменная 'start', и добавить свою переменную шаблона, например:

Код: Выделить всё
<!-- EVENT core.viewtopic_assign_template_vars_before -->
	$this->template->assign_var('S_FIRST_PAGE', (!$this->event['start']) ? true : false);
<!-- ENDEVENT -->

Затем использовать эту переменную шаблона S_FIRST_PAGE в событии шаблона вместе с TOPIC_ID:
Код: Выделить всё
<!-- EVENT viewtopic_body_postrow_post_after -->
	<!-- IF S_FIRST_PAGE and postrow.S_LAST_ROW -->
		<!-- IF TOPIC_ID eq 25 -->

		==== тут код для темы с ID = 25 ====

		<!-- ELSEIF TOPIC_ID eq 48 -->

		==== тут код для темы с ID = 48 ====

		<!-- ENDIF -->
	<!-- ENDIF -->
<!-- ENDEVENT -->

Добавлено спустя 18 часов 47 минут 33 секунды:
Подкорректировал вчерашний код, добавил условие and postrow.S_LAST_ROW, чтобы блоки отображались только после последнего сообщения на странице.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 867
Зарегистрирован: 22.08.13 09:05


Вернуться в Поддержка phpBB 3.1.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron