Документация для разработчиков
Темная тема

Set

Описание и параметры

int
CAdvBanner::Set(
	array arFields,
	int BANNER_ID="",
	char(1) CHECK_RIGHTS="Y"
);

Метод создает новый баннер, либо модифицирует существующий в случае указания во втором параметре ID баннера. Возвращает ID созданного баннера, либо ID модифицированного баннера. Метод нестатический.

Параметры метода

Параметры Описание
arFields Массив параметров баннера. В массиве допустимы следующие индексы:
  • CONTRACT_ID - ID контракта (обязательный параметр для нового баннера)
  • TYPE_SID - символьный идентификатор типа баннера (обязательный параметр для нового баннера)
  • STATUS_SID - символьный идентификатор статуса баннера, допустимы следующие значения:
    • PUBLISHED - баннер подтвержден и опубликован
    • READY - баннер на рассмотрении
    • REJECTED - баннер отклонен
  • STATUS_COMMENTS - комментарий к статусу
  • NAME - имя баннера
  • GROUP_SID - имя группы баннера
  • ACTIVE - флаг активности: "Y" - баннер активен; "N" - баннер не активен;
  • arrSITE - код языковой части сайта, в которой будет показываться баннер
  • WEIGHT - вес (приоритет) баннера
  • MAX_SHOW_COUNT - максимальное количество показов баннера
  • RESET_SHOW_COUNT - флаг необходимости сбросить счетчик показов у баннера (автоматически будет уменьшен счетчик показов у всего контракта)
  • MAX_CLICK_COUNT - максимальное количество кликов на баннер
  • RESET_CLICK_COUNT - флаг необходимости сбросить счетчик кликов на баннер (автоматически будет уменьшен счетчик кликов у всего контракта)
  • DATE_SHOW_FROM - дата начала показов баннера
  • DATE_SHOW_TO - дата окончания показов баннера
  • arrIMAGE_ID - массив, описывающий загружаемое изображение; в массиве допустимые следующие индексы:
    • name - исходное имя загружаемого файла
    • type - тип загружаемого файла (например: "image/gif")
    • tmp_name - имя временного файла на сервере
    • error - код ошибки ("0" - нет ошибок)
    • size - размер загружаемого файла
    • MODULE_ID - идентификатор модуля ("advertising")
  • IMAGE_ALT - текст всплывающей подсказки к изображению
  • URL - ссылка на изображение. В данном поле можно использовать шаблон #EVENT_GID#, который при клике на баннер будет заменен на идентификатор посетителя, который используется в модуле статистики при загрузке событий.
  • URL_TARGET - в данном поле вы можете задать строку, влияющую на поведение браузера при нажатии на ссылку-изображение:
    • _self - открыть в текущем окне
    • _blank - открыть в новом окне
    • _parent - открыть в своем фреймсете
    • _top - во всем текущем окне браузера
  • CODE - код баннера
  • CODE_TYPE - тип кода баннера: "text" - код баннера будет выведен как текст; "html" - код баннера будет выведен как HTML;
  • STAT_EVENT_1 - идентификатор типа события - " event1" (события регистрируются в модуле статистики)
  • STAT_EVENT_2 - идентификатор типа события - " event2"
  • STAT_EVENT_3 - дополнительный параметр события - " event3". В коде баннера, event1, event2, event3 можно использовать следующие шаблоны:
    • #BANNER_NAME# - имя баннера
    • #BANNER_ID# - ID баннера
    • #CONTRACT_ID# - ID контракта
    • #TYPE_SID# - тип баннера
  • FOR_NEW_GUEST - "Y" - показывать баннер только для новых посетителей; "N" - показывать баннер только для посетителей уже посещавших сайт
  • COMMENTS - комментарий к баннеру
  • arrSHOW_PAGE - массив страниц и разделов сайта, на которых должен показываться баннер
  • arrNOT_SHOW_PAGE - массив страниц и разделов сайта, на которых не должен показываться баннер
  • arrCOUNTRY - массив двухсимвольных кодов стран, посетителям которых необходимо показывать баннер
  • arrSTAT_ADV - массив идентификаторов рекламных кампаний, посетителям которых необходимо показывать баннер (как на прямых заходах, так и на возвратах)
  • arrWEEKDAY - массив, описывающий время и дни недели для показа баннера; в массиве допустимы следующие индексы:
    • SUNDAY - массив часов в которые надо показывать баннер в воскресенье (0-23)
    • MONDAY - -||- в понедельник
    • TUESDAY - -||- во вторник
    • WEDNESDAY - -||- в среду
    • THURSDAY - -||- в четверг
    • FRIDAY - -||- в пятницу
    • SATURDAY - -||- в субботу
  • SEND_EMAIL - флаг необходимости отослать EMail владельцам контракта при смене статуса баннера; письмо отсылается по шаблону "Изменился статус баннера"
BANNER_ID ID баннера, если не указывать - создаётся новый баннер.
CHECK_RIGHTS Флаг необходимости проверки прав текущего пользователя: "Y" - необходимо проверить права текущего пользователя; "N" - баннер создавать и модифицировать независимо от прав текущего пользователя. Необязательный параметр.

Примеры использования

Пример кода, добавляющего новый баннер, либо модифицирующего существующий:

<?
if ((strlen($save)>0 || strlen($apply)>0) && $REQUEST_METHOD=="POST")
{
	InitBVar($SEND_EMAIL);
	$arrIMAGE_ID = $HTTP_POST_FILES["IMAGE_ID"];
	$arrIMAGE_ID["MODULE_ID"] = "advertising";
	$arrIMAGE_ID["del"] = ${"IMAGE_ID_del"};
	$arrWEEKDAY = array(
		"SUNDAY"	=> $arrSUNDAY,
		"MONDAY"	=> $arrMONDAY,
		"TUESDAY"   => $arrTUESDAY,
		"WEDNESDAY" => $arrWEDNESDAY,
		"THURSDAY"  => $arrTHURSDAY,
		"FRIDAY"	=> $arrFRIDAY,
		"SATURDAY"  => $arrSATURDAY
	);
	if ($action=="view" && $isAbsAdmin)
	{
		 $arFields = array(
			"STATUS_SID"		=> $STATUS_SID,
			"STATUS_COMMENTS"   => $STATUS_COMMENTS
		);
	}
	else
	{
		 $arFields = array(
			"CONTRACT_ID"	   => $CONTRACT_ID,
			"TYPE_SID"		  => $TYPE_SID,
			"STATUS_SID"		=> $STATUS_SID,
			"STATUS_COMMENTS"   => $STATUS_COMMENTS,
			"NAME"			  => $NAME,
			"GROUP_SID"		 => $GROUP_SID,
			"ACTIVE"		=> $ACTIVE,
			"arrSITE"		=> $arrSITE,
			"WEIGHT"		=> $WEIGHT,
			"MAX_SHOW_COUNT"	=> $MAX_SHOW_COUNT,
			"RESET_SHOW_COUNT"  => $RESET_SHOW_COUNT,
			"MAX_CLICK_COUNT"   => $MAX_CLICK_COUNT,
			"RESET_CLICK_COUNT" => $RESET_CLICK_COUNT,
			"DATE_SHOW_FROM"	=> $DATE_SHOW_FROM,
			"DATE_SHOW_TO"	  => $DATE_SHOW_TO,
			"arrIMAGE_ID"	   => $arrIMAGE_ID,
			"IMAGE_ALT"		 => $IMAGE_ALT,
			"URL"			   => $URL,
			"URL_TARGET"		=> $URL_TARGET,
			"CODE"			  => $CODE,
			"CODE_TYPE"		 => $CODE_TYPE,
			"STAT_EVENT_1"	  => $STAT_EVENT_1,
			"STAT_EVENT_2"	  => $STAT_EVENT_2,
			"STAT_EVENT_3"	  => $STAT_EVENT_3,
			"FOR_NEW_GUEST"	 => $FOR_NEW_GUEST,
			"COMMENTS"		  => $COMMENTS,
			"arrSHOW_PAGE"	  => split("[\n\r]",$SHOW_PAGE),
			"arrNOT_SHOW_PAGE"  => split("[\n\r]",$NOT_SHOW_PAGE),
			"arrCOUNTRY"		=> $arrCOUNTRY,
			"arrSTAT_ADV"	   => $arrSTAT_ADV,
			"arrWEEKDAY"		=> $arrWEEKDAY,
			"SEND_EMAIL"		=> $SEND_EMAIL
		);
	}
	if ($ID = CAdvBanner::Set($arFields, $ID))
	{
		if (strlen($strError) <= 0)
		{
			 if (strlen($save) > 0)
				 LocalRedirect("adv_banner_list.php?lang=".LANG);
			 else
				 LocalRedirect("adv_banner_edit.php?ID=".$ID."&CONTRACT_ID=".$CONTRACT_ID."&lang=".LANG."&action=".$action);
		}
	}
	$DB->PrepareFields("b_adv_banner");
}
?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024