Модуль организует сортировку правил обработки адресов согласно полю SORT, которое добавляется в массив описывающий правила. Рассмотрим файл urlrewrite.php, было:
$arUrlRewrite = array( array( "CONDITION" => "#^/news/(.*?)/#", "RULE" => "SECTION_CODE=$1", "ID" => "", "PATH" => "/news/index.php", ), array( "CONDITION" => "#^/news/x/#", "RULE" => "SECTION_CODE=main&CODE=x", "ID" => "", "PATH" => "/news_main/index.php", ) ); |
Станет:
$arUrlRewrite = array( array( "CONDITION" => "#^/news/x/#", "RULE" => "SECTION_CODE=main&CODE=x", "ID" => "", "PATH" => "/news_main/index.php", "SORT" => "90", ), array( "CONDITION" => "#^/news/(.*?)/#", "RULE" => "SECTION_CODE=$1", "ID" => "", "PATH" => "/news/index.php", "SORT" => "100", ) ); |
Как это работает?
Модуль отслеживает состояние файла urlrewrite.php и, при обнаружении изменений, запускает свой механизм сортировки по увеличению значению поля SORT.
В случае, если у правила не задано поле SORT, модуль создаст его и присвоит значение = 100.