Решил автоматизировать создание коротких ссылок на некоторых страницах. В документации к сожалению работа по созданию коротких ссылок еще не описана, поэтому пришлось лезть в код и изучать.
Сам класс находится по адресу /bitrix/modules/main/classes/general/short_uri.php
Сначала проверяем, есть ли для данной страницы короткая ссылка:
Далее, если ссылка существует, то просто выводим ее, иначе создаем новую и выводим:
Надеюсь кому-нибудь пригодится.
Сам класс находится по адресу /bitrix/modules/main/classes/general/short_uri.php
Сначала проверяем, есть ли для данной страницы короткая ссылка:
<?$show = false; $rsData = CBXShortUri::GetList(Array(), Array()); while($arRes = $rsData->Fetch()) { if ($arRes["URI"] == $APPLICATION->GetCurPage()) { $str_SHORT_URI = $arRes["SHORT_URI"]; $show = true; } }?> |
Далее, если ссылка существует, то просто выводим ее, иначе создаем новую и выводим:
<?if ($show):?> Короткая ссылка на эту страницу:<br /> <a href="http://2dr.ru/<?=$str_SHORT_URI?>">2dr.ru/<?=$str_SHORT_URI?></a> <?else:?> <?$str_SHORT_URI = CBXShortUri::GenerateShortUri(); //генерируем новую ссылку $arFields = Array( "URI" => $APPLICATION->GetCurPage(), "SHORT_URI" => $str_SHORT_URI, "STATUS" => "301", ); $ID = CBXShortUri::Add($arFields); //добавляем ссылку?> Короткая ссылка на эту страницу:<br /> <a href="http://2dr.ru/<?=$str_SHORT_URI?>">2dr.ru/<?=$str_SHORT_URI?></a> <?endif;?> |