PHP КОДЫ вывода данных

Стандартный вывод баннеров на странице

<?php
if (Core::moduleIsActive('advertisement'))
{
$Advertisement_Group_Controller_Show = new Advertisement_Group_Controller_Show(
Core_Entity::factory('Advertisement_Group', 1)
);
$Advertisement_Group_Controller_Show
->limit(2)
->xsl(
Core_Entity::factory('Xsl')->getByName('ОтображениеБаннера')
)
->show();
}
?>


Выводим баннеры через ТДС (например ТДС ИнтернетМагазин)

// Рекламные Баннеры в левой колонке в разделах
ob_start();
$Advertisement_Group_Controller_Show = new Advertisement_Group_Controller_Show(
Core_Entity::factory('Advertisement_Group', 4)
);
$Advertisement_Group_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('ОтображениеБаннера')
)
->limit(4)
->advertisements()
->queryBuilder()
->clearOrderBy()
->orderBy('start_datetime', 'ASC');
$Advertisement_Group_Controller_Show->show();
$Shop_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('advbanners')->value(ob_get_clean())
);


Защита от показа баннеров поисковым ботам

<?php
if (!Core::moduleIsActive('counter') || !Counter_Controller::checkBot(
Core_Array::get($_SERVER, 'HTTP_USER_AGENT')
))
{
// Блок показа баннера
}
?>


Контекстный показ баннера в зависимости от содержания страницы

<?php
ob_start();
// здесь показ контента, в зависимости от которого необходимо выводить баннер
$sContextualWords = ob_get_clean();
if (Core::moduleIsActive('advertisement'))
{
$Advertisement_Group_Controller_Show = new Advertisement_Group_Controller_Show(
Core_Entity::factory('Advertisement_Group', 1)
);
$Advertisement_Group_Controller_Show
->words($sContextualWords)
/* Указываем на необходимость показа только баннеров, найденных по контексту.
Если ни одного контекстного баннера не будет найдено – ничего не будет показано. */
->justContext(TRUE)
->xsl(
Core_Entity::factory('Xsl')->getByName('ОтображениеБаннера')
)
->show();
}


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

<?php
if (Core::moduleIsActive('counter'))
{
$aSearchSystem = Counter_Controller::instance()->isSearchSystem(
Core_Array::get($_SERVER, 'HTTP_REFERER')
);
if ($aSearchSystem)
{
$search_query = trim($aSearchSystem['search_query']);
if (strlen($search_query) <= 255)
{
setcookie('hostcms_search_query', $search_query, time() + 31536000, '/');
$_COOKIE['hostcms_search_query'] = $search_query;
}
}
}


Далее остается передать текст поискового запроса контроллеру:

<?php
if (Core::moduleIsActive('advertisement'))
{
$Advertisement_Group_Controller_Show = new Advertisement_Group_Controller_Show(
Core_Entity::factory('Advertisement_Group', 1)
);
$Advertisement_Group_Controller_Show
->words(Core_Array::get($_COOKIE, 'hostcms_search_query'))
/* Указываем на необходимость показа только баннеров, найденных по контексту.
Если ни одного контекстного баннера не будет найдено – ничего не будет показано. */
->justContext(TRUE)
->xsl(
Core_Entity::factory('Xsl')->getByName('ОтображениеБаннера')
)
->show();
}


Создание страницы для учета нажатий на баннер


В структуре сайта создайте страницу с именем в меню «Переход по ссылке баннера» и названием раздела «showbanner», отключите отображение данной страницы в меню. Выберите тип страницы «Типовая динамическая страница», из выпадающего списка «Раздел» выберите «Реклама», в выпадающем списке «Страница» выберите «Переход по ссылке баннера».


Если при нажатии на баннер Вы получите сообщение Apache, например «OK. The document has moved here», необходимо заменить серверный редирект на JavaScript, для этого в разделе «Страница» выберите «Переход по ссылке баннера (JavaScript)».