Skip to content

Instantly share code, notes, and snippets.

@AnthonyDS
Last active August 31, 2020 12:59
Show Gist options
  • Save AnthonyDS/ac8a72a3ea2bfca280d7fa3167065f47 to your computer and use it in GitHub Desktop.
Save AnthonyDS/ac8a72a3ea2bfca280d7fa3167065f47 to your computer and use it in GitHub Desktop.
<?php
/*
Для работы с файлом urlrewrite.php в Bitrix есть класс CUrlRewriter.
Вот некоторые из его методов:
*/
//
// Переменные
//
echo "SITE_ID: ".SITE_ID."<br>";
$PATH = "/local/components/yandex.kassa/index.php";
$CONDITION = "/yandex/kassa";
$RULE = ""; //"#^/yandex/kassa/#";
$ID = "yandex.kassa";
//
// Получение списка правил
// CUrlRewriter::GetList($arFilter = array(), $arOrder = array())
//
CUrlRewriter::GetList(array(
"SITE_ID" => SITE_ID,
"ID" => "bitrix:news",
"CONDITION" => "#^/news/#",
// "QUERY" => "/news/",
// "PATH" => "/news/index.php",
// "ID" => $ID,
// "RULE" => $RULE,
), array());
/*
result:
Array
(
[0] => Array
(
[CONDITION] => #^/news/#
[ID] => bitrix:news
[PATH] => /news/index.php
[RULE] =>
)
)
*/
//
// Проверка пути PATH
// CUrlRewriter::CheckPath($path)
//
CUrlRewriter::CheckPath( $PATH );
//
// Добавление
// CUrlRewriter::Add($arFields)
//
CUrlRewriter::Add(array(
"SITE_ID" => SITE_ID,
"CONDITION" => $CONDITION,
"ID" => $ID,
"PATH" => $PATH,
));
//
// Обновление
// CUrlRewriter::Update($arFilter, $arFields)
//
CUrlRewriter::Update(array(
"SITE_ID" => SITE_ID,
"CONDITION" => $CONDITION,
), array(
// "CONDITION" => $CONDITION,
// "RULE" => $RULE,
"PATH" => $PATH,
));
//
// Удаление
// CUrlRewriter::Delete($arFilter)
//
CUrlRewriter::Delete(array(
"ID" => $ID,
"PATH" => $PATH,
"CONDITION" => $CONDITION,
"RULE" => $RULE,
));
//
// MD5-сумма правила
//
CUrlRewriter::GetKey(array(
"CONDITION" => $CONDITION,
"RULE" => $RULE,
"ID" => $ID,
"PATH" => $PATH,
));
/**********************************************************************************************************
Вот ещё некоторые из его методов:
CUrlRewriter::ReIndexAll($max_execution_time = 0, $NS = array())
CUrlRewriter::RecurseIndex($path=array(), $max_execution_time = 0, &$NS)
CUrlRewriter::ReindexFile($path, $SEARCH_SESS_ID="", $max_file_size = 0)
CUrlRewriter::printArray($arr)
CUrlRewriter::__RecordsCompare($a, $b) - сравнивает массивы по свойству "CONDITION"
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment