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

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");
}
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Андрей Ласевичев
если в качестве элемента массива arrCOUNTRY указать ассоциативный массив c ключами "COUNTRY_ID", "REGION", "CITY_ID", то будет сохранена не только страна, но и регион с городом...
например:
Код
$arrCOUNTRY = array( 
                  array( 
                        'COUNTRY_ID'=>'ru',   // страна
                        'REGION'=>'Челябинская область', //регион
                         'CITY_ID'=>'958') // город
                   );
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх