Здесь приведены примеры решения основных задач при работе с модулем, при его испольвзовании при автоматизации процессов.
\Bitrix\Main\Loader::includeModule('bxmaker.shortlink');
$oManager = \Bxmaker\ShortLink\Manager::getInstance();
Для генерации ссылки, необходимо использвоать метод addLink()
передав адрес конецной страницы,
для которой и формируем короткий аналог. Если используются UTM метки, то ссылка должна быть
передана уже с добавлеными метками.
/* ссылка на которую должна вести короткая ссылка */
$url = 'https://bxmaker.ru/promo_stranica/?utm-source=bxmaker.ru&utm-compaign=promo';
/* получение кода короткой ссылки */
$code = $oManager->addLink($url);
/* получение ссылки */
if($code)
{
// теперь на основе кода можно сформирвоать
// ссылку используя метод prepareShortLink
}
else
{
/* Ошибок в принципе быть не может,
в случае повторного добавления ссылки,
будет возвращен ранее созданный код этой ссылки.
Если что-то пошло не так, $code == '' */
}
Для формирования полного адреса короткой ссылки с учетом схемы подключения и домена,
необходимо использвоать метод prepareShortLink()
, который вернет полный адрес.
Если определение схемы происходит не верно, вместо https
возвращается http
,
то нужно в файле /bitrix/.settings.php
добавить настройки схемы для сайта.
Подробнее в пункте - "Частые ошибки"
$code = 'DfjOl';
$url = $oManager->prepareShortLink($code); // https://bxmaker.ru/DfjOl
Для работы со статистикой существует отдельный класс \Bxmaker\ShortLink\StatTable()
.
Для получения данных необходимо использовать метод getList()
.
// идентификатор ссылки, для которой получаем статистику
$linkId = 1;
/* инициализация объекта класса для работы со статистикой в базе данных */
$oStatTable = new \Bxmaker\ShortLink\StatTable();
/* получение статистики напрямую */
$dbrStat = $oStatTable->getList(array(
'select' => array('*'),
'filter' => array('LINK_ID' => $linkId)
));
if($arStat = $dbrStat->fetch())
{
echo '<pre>';
print_r($arStat);
echo '</pre>';
}
Получить статистику можно и по коду короткой ссылки, для этого возмьме данные по ссылке отфильтровав по коду и также запросим информацию по переходам за все время сбора статистики
/* или получение статистики по короткой ссылке, но в таком случае будет возвращена информация о переходах за все периоды */
$dbrLink = $oManager->getTable()->getList(array(
'select' => array(
'*',
'AMOUNT' => 'STAT.AMOUNT',
'AMOUNT_UNIQ' => 'STAT.AMOUNT_UNIQ'
),
'filter' => array('FROM' => 'DfjOl')
));
if($arLink = $dbrLink->fetch())
{
echo '<pre>';
print_r($arLink);
echo '</pre>';
}
Чтобы зафиксировать переход по короткой ссылке, используем класс работающий со статистикой
и в частности метод setView
;
$oStat = new \Bxmaker\ShortLink\Stat();
$linkId = 1; // ID короткойссылки
$bUniq = true; // переход уникальный, человек переходит по ссылке первый раз
$oStat->setView($linkId, $bUniq);