• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/hook/page/pixelfb.php
  • Класс: BitrixLandingHookPagePixelFb
  • Вызов: PixelFb::exec
public function exec()
{
	if ($this->execCustom())
	{
		return;
	}

	$zone = '';
	if (Loader::includeModule('bitrix24'))
	{
		$zone = CBitrix24::getPortalZone();
	}
	elseif (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/lang/ru")
		&& !file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/lang/ua"))
	{
		$zone = 'ru';
	}
	if ($zone === 'ru')
	{
		return;
	}

	$counter = null;
	$businessPixel = $this->getBusinessPixel();

	if ($this->fields['USE']->getValue() === 'Y')
	{
		$counter = htmlspecialcharsbx(trim($this->fields['COUNTER']));
		$counter = CUtil::jsEscape($counter);
	}

	if (!$counter || $counter === $businessPixel)
	{
		$counter = $businessPixel;
		$businessPixel = null;
	}

	if ($counter)
	{
		Cookies::addCookieScript(
			'fbp',
			'!function(f,b,e,v,n,t,s)
			{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
			n.callMethod.apply(n,arguments):n.queue.push(arguments)};
			if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.agent='plbitrix';
			n.queue=[];t=b.createElement(e);t.async=!0;
			t.src=v;s=b.getElementsByTagName(e)[0];
			s.parentNode.insertBefore(t,s)}(window, document,'script',
			'https://connect.facebook.net/en_US/fbevents.js');
			fbq('init', '' . $counter . '');
			fbq('track', 'PageView');'.
			($businessPixel
				? "n				fbq('init', '{$businessPixel}');" .
				  "n				fbq('track', 'PageView');"
				: '')
		);
		Manager::setPageView(
			'Noscript',
			''
		);
	}
}