freelancehunt это Биржа Фрилансеров и у Сайта есть Api что дает нам возможность получать информациию о вашем профиле .Отзывы ,портфолио. Сегодня я покажу как получить отзвыви и вывести их у себя на сайте MODx revo.
Для работы с Аpі нужен Сurl .Он есть на всех платных хостингах.Но иногда его нужно включить. Как это сделать зависит уже от панели управления хостингом.Но думаю вы найдете.
И так начнем .
Для начала нам нужно получить ключ и токен, по которым мы будем подключатся к сайту Фриланса. Для этого топаем в настройки вашего профиля фрилансера. Раздел Приложения и API
Далее будет код Снипета в нем все понятно.
$tpl = $modx->getOption('tpl', $scriptProperties, 'FileItemTpl'); $api_token = 'xxxxxxxxxxxxxx'; $api_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; function signsa($api_secret, $url, $method, $post_params = '') { return base64_encode(hash_hmac("sha256", $url.$method.$post_params, $api_secret, true)); } $url = "https://api.freelancehunt.com/profiles/Pechenki_PSD?include=reviews"; $method = "GET"; $signature = signsa($api_secret, $url, $method); // реализацию функции смотрите выше $curl = curl_init(); curl_setopt_array($curl, [ //CURLOPT_HEADER => 1, // позволяет просмотреть заголовки ответа сервера при необходимости отладки CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERPWD => $api_token . ":" . $signature, CURLOPT_URL => $url ]); $reviers = curl_exec($curl); $rev = json_decode($reviers,true); curl_close($curl); $list = array(); // начало рабооты for ($i = 0; $i < count($rev['reviews']); $i++) { $itemArr['url'] = $rev['reviews'][$i]['project']['url']; $itemArr['name'] = $rev['reviews'][$i]['project']['name']; $itemArr['budget_amount'] = $rev['reviews'][$i]['project']['budget_amount']; $itemArr['budget_currency_code'] = $rev['reviews'][$i]['project']['budget_currency_code']; $itemArr['review_comment'] = $rev['reviews'][$i]['review_comment']; $itemArr['from_avatar'] = $rev['reviews'][$i]['from']['avatar']; $itemArr['from_fname'] = $rev['reviews'][$i]['from']['fname']; $itemArr['from_url'] = $rev['reviews'][$i]['from']['url']; $list[] = $modx->getChunk($tpl, $itemArr); } unset($i); $output = implode($outputSeparator, $list); if (!empty($toPlaceholder)) { $modx->setPlaceholder($toPlaceholder, $output); return ''; } return $output;Далее создаем чанк для отображения содержимого отзывов. Вызываем как обычный снипет modx
[[rewies? &tpl=`FrelanceRews` ]]
Список переменных для вывода в шаблоне
[[+url]] | url проекта |
[[+name]] | название проекта |
[[+budget_amount]] | цена проекта |
[[+budget_currency_code]] | код валюты |
[[+review_comment]] | коментарий отзыва |
[[+from_fname]] | имя автора коментария |
[[+from_avatar]] | фото автора коментария |
[[+from_url]] | url автора коментария |
Пример работы можно посмотреть на главной сайта
© SiteBlog designer
коммент.