Sotbit SEO Мета. Получить новый URL до вызова sotbit seo meta.

Небольшое дополнение к предыдущей статье.

Если Вам необходимо получить в фильтре либо выше (до вызова компонента сотбит) информацию о новом URL, можно выполнить подобный код и получить требуемую информацию:

    $url = $_SERVER['REQUEST_URI'];
// ищем по URL. Если совпадает, то значит существует страница с таким значением
$connection = Bitrix\Main\Application::getConnection();
$sqlHelper = $connection->getSqlHelper();
$sql = "SELECT NEW_URL,REAL_URL FROM b_sotbit_seometa_chpu WHERE REAL_URL='".$url."'";
$recordset = $connection->query($sql);
while ($record = $recordset->fetch()) { $new_url=$record['NEW_URL']; }

Пишем класс для работы:

class dataFromSotbit {
    public static function getConditionById($id) {
        $arCondition = \Sotbit\Seometa\ConditionTable::getById($id)->fetch();
        if($arCondition['FILTER_TYPE'] == 'default')
        {
            $arCondition['FILTER_TYPE'] = \Bitrix\Main\Config\Option::get("sotbit.seometa", "FILTER_TYPE", "bitrix_chpu");
        }
    return $arCondition;
    }
    
    public static function getMetaId($str){
        $metaData = Sotbit\Seometa\SeometaUrlTable::getByRealUrl($str);
        return $metaData;
    }
    
    public static function getListFromUrl($url){
        $result = \Sotbit\Seometa\SeometaUrlTable::getList(array(
            'select' => array('*'),
            'filter' => array('ACTIVE' => 'Y', '=REAL_URL' => $url),
            'order'  => array('ID')
        ))->fetch();
        return $result;
    }
    
    public static function getNewUrl($url){
        $result = \Sotbit\Seometa\SeometaUrlTable::getList(array(
            'select' => array('NEW_URL'),
            'filter' => array('ACTIVE' => 'Y', '=REAL_URL' => $url),
            'order'  => array('ID'),
            'limit'  => 1
        ))->fetch();
        return $result['NEW_URL'];
    }
}

Добавляем его в файл и подключаем в init

Теперь можно обратится getNewUrl для получения нового URL.

Либо для получения всего массива данных getMetaId($url).