Получение ТиЦ и PR
Материал из Umicms
Версия от 11:13, 5 июня 2013; Mad grant (обсуждение | вклад)
Актуально для версии 2.9
Для того, чтобы получить для домена его ТиЦ и PageRank, например с выводом на сайте можно написать кастомный макрос. Логично будет разместить его в модуле SEO. Для этого в файле classes/modules/seo/__custom.php напишем такой скрипт:
<?php
abstract class __custom_seo {
//TODO: Write your macroses here
public function getPR($template = "default", $_url = false) {
$array_res = array();
list ($sTemplate, $array_res) = def_module::loadTemplates('/seo/'.$template, 'rank');
$url = "http://bar-navig.yandex.ru/u?ver=2&url=".urlencode("http://".$_url)."&show=1";
$CYprContent = @file_get_contents( $url );
if ($CYprContent) {
preg_match( "/<tcy rang=\"(.*)\" value=\"(.*)\"\/>/isU", $CYprContent, $cy );
$array_res['cy'] = $cy[2];$array_res['pr'] = $cy[1] ;
} else {
return "Ошибка при получении запроса";
}
return def_module::ParseTemplate($sTemplate, $array_res);
}
};
?>
Теперь получить данные можно по запросу udata://seo/getPR//domain.ru В случае если используется tpl шаблонизатор в папке tpls создаём папку seo с файлом default.tpl внутри. Содержание файла примерно следующее -
<?php
$FORMS = array();
$FORMS['rank'] = <<<END
<p> PageRank - %pr%</p>
<p> ТиЦ - %cy%</p>
END;
?>
И в теперь в нужном месте в нужном шаблоне вызываем макрос как %seo getPR('default', 'domain.ru')%