Внедрение рекламных блоков в контент

На примере нашего блога покажем, как можно внедрить рекламные дополнительные блоки в контент - статьи, некие каталоги и т.д.

Общая суть - используем специальную форму, которая по определенным правилам выводит HTML блоки с кодами, начинающимися с promo_.

На странице контента

Вставка формы производится динамически через JS. В примере мы вставляем через 4 секунды после загрузки форму рекламы после 15 параграфа в статье. 

setTimeout(function(){
    var p = $('.bl-text p:eq(15)');
    var s  = "
";
  	$(s).insertAfter(p);    
    as.initControls($('.watchpromoCont'));
   /* setInterval(function(){
    	as.initControls($('.watchpromoCont'));
    }, 60000);*/
  }, 4000); 

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

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

Форма показа баннера watchpromo

Доступна всем (роли = all). 

Разметка формы: 

<div class="row position-relative">
  <div class="col-12">
    <div class="shadow rounded border border-primary p-3">
      <a href="#" class="as-form-submit badge badge-secondary" style="font-size: 12px; line-height: 1.2em; 
                position: absolute; z-index:2;
                bottom: 6px; right: 19px;">Что еще есть?</a>
      {form-subtitle}
    </div>
  </div>

</div>

Через параметры subtitle мы выведем сам баннер.

GetItem - выбираем случайный блок с кодом promo_XXXX: 

CREATE PROCEDURE [dbo].[fm_watchpromo_getItem]
    @itemID nvarchar(128),	
	@username nvarchar(256)

AS
BEGIN
	select 1 
    declare @text nvarchar(max)
    select top 1 @text = html from as_htmlBlocks
    where code like 'promo_%'
    order by newid()
    
    select isnull(@text, '') Subtitle
END

В SaveItem мы обрабатываем нажатие кнопки "Что еще есть?" - просто обновляем контейнер, где находится форма. 

CREATE PROCEDURE [dbo].[fm_watchpromo_saveItem]
   @username nvarchar(256), 
   @itemID nvarchar(256),
   @parameters ExtendedDictionaryParameter READONLY	   
AS
BEGIN	
	-- SELECT 1 
	select 1 Result, ' ' Msg, '.watchpromoCont' RefreshContainer
END

Посмотреть как это работает можно на нашем блоге https://falconspace.ru/blog/tz-na-sozdanie-sistemy-ili-sayta---prosto-o-slozhnom

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK